带有Spring Boot的CLIENT-CERT仅适用于某些资源

时间:2018-08-01 21:35:02

标签: spring spring-boot spring-security client-certificates

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)?

0 个答案:

没有答案