-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
AuthenticationManager
22.11.14 23:23 작성 조회수 403
1
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Bean
public FilterSecurityInterceptor customFilterSecurityInterceptor() throws Exception {
FilterSecurityInterceptor filterSecurityInterceptor = new FilterSecurityInterceptor();
...
filterSecurityInterceptor.setAuthenticationManager(authenticationManagerBean());
return filterSecurityInterceptor;
}
}
위 방식으로
AuthenticationManager
를 받아 와서 사용하셨는데,authenticationManagerBean()
는 단순히AuthenticationManager
빈을 반환한다고 이해하면 되나요?WebSecurityConfigurerAdapter
를 사용할 수 없는 5.7 이후 버전에 맞추어 구현한 아래authenticationManager(HttpSecurity http)
를 사용해도 문제 없을까요?
public class SecurityConfig {
@Bean
public AuthenticationManager authenticationManager(HttpSecurity http) throws Exception {
AuthenticationManagerBuilder authenticationManagerBuilder =
http.getSharedObject(AuthenticationManagerBuilder.class);
authenticationManagerBuilder.authenticationProvider(authenticationProvider);
return authenticationManagerBuilder.build();
}
@Bean
public FilterSecurityInterceptor customFilterSecurityInterceptor(HttpSecurity http) throws Exception {
FilterSecurityInterceptor filterSecurityInterceptor = new FilterSecurityInterceptor();
...
filterSecurityInterceptor.setAuthenticationManager(authenticationManager(http));
return filterSecurityInterceptor;
}
}
답변을 작성해보세요.
1
정수원
지식공유자2022.11.16
네
위 방식으로 생성해도 괜찮을 것 같습니다.
혹은
@Bean
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
ProviderManager authenticationManager = (ProviderManager)authenticationConfiguration.getAuthenticationManager();
authenticationManager.getProviders().add(authenticationProvider)
return authenticationManager;
}
와 같이 구성해도 됩니다.
다만 생성하는 방식에 따라서 최종 구성에서는 약간의 차이는 있습니다.
일단 사용해 보시고 문제가 발생한다면 다시 질문 해 주십시오
답변 1