Spring Boot:禁用特定URL的客户端身份验证

时间:2018-01-05 15:51:56

标签: java spring spring-boot

我的appliaction.yml

中有以下配置
server:
  #address:
  port: 8443
  sessionTimeout: 30
  ssl:
    client-auth: need
    key-store: keyStore.jks
    key-store-password: 12345
    key-password: datacert

    protocol: TLS
    trust-store: truststore.jks
    trust-store-password: 12345

由于我有client-auth: need,我的应用程序会提示输入所有网址的证书,无论如何我可以绕过client auth来查找某些特定网址{{1} }或/info网址?

1 个答案:

答案 0 :(得分:0)

Spring启动不允许混合使用http和https。 也不建议将URL与不安全的页面混合使用。

如果您只需要某些URL是安全的,请实施自定义身份验证,因为默认情况下,SSL握手将针对每个请求进行。

您可以参考以下讨论:How set up Spring Boot to run HTTPS / HTTP ports

例如,请求仅在经过身份验证后才会到达服务器。

您可以尝试使用过滤器创建和捕获请求,但我怀疑在Web服务器对其进行身份验证之前,您是否会在服务器上获取请求。

e.g。尝试添加java Filter并捕获所需的URL以过滤安全和非安全。 (过滤器可在web.xml下配置或作为注释配置)。其他选择是尝试Spring Security过滤器链代理。