【问题标题】:In Spring Security 5.1.6, logout-success-url always redirects to HTTP instead of HTTPS在 Spring Security 5.1.6 中,logout-success-url 总是重定向到 HTTP 而不是 HTTPS
【发布时间】:2020-06-18 17:13:26
【问题描述】:

我在 Wildfly16 应用服务器中配置了 Spring security 5.1.6。 对于注销,我已经完成了如下配置;

当我使用 HTTP url 时,没有问题。但是当我使用 HTTPS URL 时,单击 LOGOUT 链接后,它会重定向到“logout-success-url”中配置的相对路径,协议为 HTTP 而不是 HTTPS。

我已经尝试使用“<property name="redirectHttp10Compatible" value="false" />”来定义 InternalResourceViewResolver bean。但问题存在。

还尝试将 requires-channel 作为 https。但问题存在。 .

我不想在“logout-success-url”中硬编码 https URL。

我们还有什么办法可以解决这个问题?

【问题讨论】:

  • 将 requiresChannel 设置为 https,然后访问 logout-success-url,发生了什么?
  • @NatFar....同样的结果。仍然登录 URL 重定向为 HTTP 而不是 https。
  • 到目前为止,我正在添加一个扩展“SimpleUrlLogoutSuccessHandler”的自定义处理程序。在“success-handler-ref”中引用客户处理程序是为了达到目的。但是,如果我们有一个解决方案可以在所有相对路径处理程序中根据上下文设置协议,那仍然会很容易。

标签: https wildfly logout spring5


【解决方案1】:

我遇到了同样的问题,这个post 在我这边解决了它:

server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto

来源:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-security.html#howto-enable-https

【讨论】:

    猜你喜欢
    • 2011-02-05
    • 2021-12-12
    • 2016-10-16
    • 2016-11-15
    • 2018-01-12
    • 1970-01-01
    • 2016-06-21
    • 2019-06-16
    • 2020-12-30
    相关资源
    最近更新 更多