Java Spring引导:禁用特定URL的客户端身份验证

Java Spring引导:禁用特定URL的客户端身份验证,java,spring,spring-boot,Java,Spring,Spring Boot,我的应用程序.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-stor

我的
应用程序.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
,我的应用程序正在提示为所有URL提供证书,对于某些特定的URL,比如
/info
\health
URL,我是否可以绕过
client-auth
。 也不建议将URL与不安全页面混合使用

如果您只需要确保某些URL的安全,请实现自定义身份验证,因为默认情况下,每个请求都会发生SSL握手

您可以参考以下讨论:

例如,请求只有在经过身份验证后才能到达服务器

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


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

不,您不能。在接收和解密包含URL的流之前,在TLS握手级别评估并完成客户端身份验证。最好将它设置为“想要”,然后检查它是否确实发生在需要它的端点中。(提示:spring security)