SecurityConfig 설정
@EnableGlobalMethodSecurity(securedEnabled = true)
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private PrincipalOauth2UserService principalOauth2UserService;
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder(){
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/","/board/list","/board//detail","/display", "/auth/**", "/css/**", "/js/**", "/img/**")
.permitAll()
.anyRequest()
.authenticated()
.and()
.formLogin()
.loginPage("/auth/user/loginForm")
.loginProcessingUrl("/login")
.defaultSuccessUrl("/")
.and()
.logout()
.logoutSuccessUrl("/")
.and()
.oauth2Login()
.loginPage("/auth/user/loginForm")
.userInfoEndpoint()
.userService(principalOauth2UserService);
}
}
@EnableGlobalMethodSecurity
- 스프링 시큐리티는 특정메서드에 대한 권한 처리를 하는 MethodSecurity 기능을 제공한다. WebSecurity와 별개로 동작하기 때문에, 추가적인 설정이 필요하다.
- 시큐리티 어노테이션 활성화 -> @Secured("ROLE_ADMIN")..등
@Bean
- 해당 메서드의 리턴되는 오브젝트를 IoC에 등록해준다
@loginProcessingUrl
-
login 주소가 호출되면 시큐리티가 낚아채서 대신 로그인을 진행한다.
(Controller에 "/login"을 만들 필요가 읍다.)
Author And Source
이 문제에 관하여(SecurityConfig 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@t1dmlgus/SecurityConfig-설정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)