У меня есть класс securityconfig, в котором я определяю настройки безопасности
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomX509AuthenticationFilter customX509AuthenticationFilter;
@Autowired
private JwtAuthenticationEntryPoint unauthorizedHandler;
@Bean
public JwtAuthenticationFilter jwtAuthenticationFilter() {
return new JwtAuthenticationFilter();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated()
.and()
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler)
.and()
.x509().x509AuthenticationFilter(customX509AuthenticationFilter).subjectPrincipalRegex("CN=(.*?)(?:,|$)")
.and()
.authorizeRequests().antMatchers("/").denyAll().anyRequest().authenticated();
}
}
У меня есть класс CustomX509AuthenticationFilter
@Component
public class CustomX509AuthenticationFilter extends X509AuthenticationFilter {
@Override
@Autowired
public void setAuthenticationManager(AuthenticationManager authenticationManager) {
super.setAuthenticationManager(authenticationManager);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
X509Certificate x509Certificate = (X509Certificate) getPreAuthenticatedPrincipal((HttpServletRequest)request);
}
}
Здесь я получаю несколько исключений, таких как
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.
Как правильно построить его? Какие изменения мне нужно сделать здесь?