最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

"X509AuthenticationFilter : No client certificate found in request" after upgrading app to Spring Boot 3.4.0 a

programmeradmin2浏览0评论

I am upgrading an application to use Spring Boot 3.4.0 and Java 17 (previously it was on Spring Boot 2.1.5.RELEASE and Java 8). When deploying this app and trying to consume its web services I am getting a 403 response even when sending the Bearer token. After enabling Spring Security logs I am seeing this message:

o.s.s.w.a.p.x.X509AuthenticationFilter : No client certificate found in request.

This is the Spring Security config I am setting:

@Value("${x509.subject.principal.regex:CN=(.*?)(?:,|$)}")
private String subjectPrincipalRegex;

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
                .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.NEVER))
                .csrf(AbstractHttpConfigurer::disable)
                .x509(x509 -> x509.subjectPrincipalRegex(subjectPrincipalRegex).userDetailsService(userDetailsService()));
    return http.build();
}

@Bean
public UserDetailsService userDetailsService() {
    return username -> new User(username,
            "", AuthorityUtilsmaSeparatedStringToAuthorityList("ROLE_SSL_USER"));
}

And this is how it is configured on old Spring Boot and Java version which is working:

@Value("${x509.subject.principal.regex:CN=(.*?)(?:,|$)}")
private String subjectPrincipalRegex;

@Override
protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().authenticated().and().x509().subjectPrincipalRegex(subjectPrincipalRegex)
                .userDetailsService(userDetailsService());
        http.csrf().disable().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER);
}

@Bean
public UserDetailsService userDetailsService() {
    return username -> new User(username,
            "", AuthorityUtilsmaSeparatedStringToAuthorityList("ROLE_SSL_USER"));
}

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论