所以我已经成功地在开发本地主机域上使用 spring session 和 redis 实现了 SSO。 但是当我使用两个子域部署到服务器时。
login.example.com
apps.example.com
他们总是在每个子域上创建新的 session ID。 我已经尝试在 tomcat 配置中使用 Context 进行配置。
<Context sessionCookieDomain=".example.com" sessionCookiePath="/">
但没有运气。
最佳答案
Spring session 将 session 管理移至应用程序级别,因此尝试配置容器(在您的情况下为 tomcat)无效也就不足为奇了。目前在 spring-session 代码中有一个 TODO 允许设置域,但没有实现。
也许最好打开一个问题以允许设置域或评论/投票 https://github.com/spring-projects/spring-session/issues/112 .
与此同时,一种解决方法是使用您自己的基于 CookieHttpSessionStrategy
的 MultiHttpSessionStrategy
实现。
关于spring - 在 spring session 中配置 Cookie 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32644345/