在 Spring Security 5.1.6 中,logout-success-url 总是重定向到 HTTP 而不是 HTTPS
Posted
技术标签:
【中文标题】在 Spring Security 5.1.6 中,logout-success-url 总是重定向到 HTTP 而不是 HTTPS【英文标题】:In Spring Security 5.1.6, logout-success-url always redirects to HTTP instead of 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。我遇到了同样的问题,这个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
【讨论】:
以上是关于在 Spring Security 5.1.6 中,logout-success-url 总是重定向到 HTTP 而不是 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章
在使用 Oauth、SAML 和 spring-security 的多租户的情况下从 spring-security.xml 中获取错误
spring boot 整合spring security中spring security版本升级的遇到的坑
如何在 spring-security 5.2 中增加 RemoteJWKSet 缓存 TTL
Spring Security系列教程解决Spring Security环境中的跨域问题