在this guide之后,我现在有一台提供CLIENT-CERT身份验证的服务器。
对于某些资源,我只想 请求客户端证书,例如/api/**
需要客户端证书,而/**
不需要客户端证书。
但是我发现如果我有server.ssl.client-auth=need
,那么所有资源都需要客户端证书,而忽略了WebSecurityConfigurerAdapter
配置:
http.authorizeRequests()
.antMatchers("/api/**").authenticated()
.anyRequest().permitAll()
.and()
.x509()
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
.and()
.csrf().disable();
另一方面,如果我删除了server.ssl.client-auth
或设置了server.ssl.client-auth=want
,那么就不会在任何URL上请求证书
仅使用Spring Boot是否可以做到这一点(即没有前置Nginx或Apache)?