首页 新闻 会员 周边

如何给已有的项目实现session共享

0
悬赏园豆:5 [已解决问题] 解决于 2013-12-21 15:25

因为需要将一个项目拆分成两个小项目,两个项目要布署到同一个tomcat中,而且要实现单点登录和session共享。单点登录打算使用cas,而session共享目前没有好的实现方案。如何在不改变现有两个项目的情况下,实现session共享且项目布署到jboss,weblogic,websphere等web服务器中时,session共享也还可以继续使用。

泱泱的主页 泱泱 | 初学一级 | 园豆:2
提问于:2013-12-13 10:56
< >
分享
最佳答案
0

把 session 存储到一个独立的存储设备中。

比如一台数据库,一个磁盘文件,或者一个 session 服务器。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2013-12-13 11:23

就tomcat而言,每一个项目生成session时都会有自己的sessionid,从项目A链接到项目B时,项目B怎么获取项目A当前用户的session呢。

泱泱 | 园豆:2 (初学一级) | 2013-12-13 11:42

@泱泱: 比如 session 存储在 A 中,那么,A 就提供一个服务用于插入、更新、获取、删除 session,B 通过调用此服务来和 A 保持同步。

Launcher | 园豆:45045 (高人七级) | 2013-12-13 11:46

@Launcher: B依据什么得到A的session呢

泱泱 | 园豆:2 (初学一级) | 2013-12-13 12:01

@泱泱: A 生成 session 后,会在返回的响应的 http header 中添加 xxxxsessionId: xkcjvlxcjvkjcvlkj, 客户页面再次提交时会在请求的 http header 中携带上 xxxxsessionId: xkcjvlxcjvkjcvlkj,B 页面就能从 http header 中得到 xxxxsessionId: xkcjvlxcjvkjcvlkj,然后用此 id 去 A 查询 session 是否存在。

Launcher | 园豆:45045 (高人七级) | 2013-12-13 13:04
其他回答(1)
0

来学习学习

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-12-13 13:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册