spring - 在 spring session 中配置 Cookie 域

标签 spring tomcat spring-session

所以我已经成功地在开发本地主机域上使用 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 .

与此同时,一种解决方法是使用您自己的基于 CookieHttpSessionStrategyMultiHttpSessionStrategy 实现。

关于spring - 在 spring session 中配置 Cookie 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32644345/

相关文章:

java - 如何使用 java 8 流创建多个新的 Hashmap?

eclipse - Spring MVC + Eclipse + Tomcat

redis - 创建名称为 'enableRedisKeyspaceNotificationsInitializer' 的 bean 时出错

spring-security - 如何使用Spring Session + Spring security xml配置和多重安全过滤器

java - 如何在 Spring 中注销特定用户?以编程方式

java - Spring 及其他 socket

java - 基于表单的登录同时应用 REST 原则

tomcat - 如何设置 tomcat 以使用应用程序基目录的子目录作为网站资源?

tomcat - ClientAbortException,知其根源

spring-boot - 使用Spring的@EnableRedisHttpSession时如何在 Controller 中获取session或redis key的过期时间?