首页 新闻 会员 周边

单点登出清空session

0
悬赏园豆:100 [已解决问题] 解决于 2014-03-25 09:05

我现在有3个业务系统A、B、C,这三个业务系统实现了单点登录,但是在单点退出的时候不知道怎么处理了,要求在A点退出的时候要把B、C的session一并清空了,在情况session的期间不能离开A的页面(让用户感觉不到),直到确保B、C的session都清空了再关闭A的页面。业务系统A是C#做的,B和C是java和C#做的。求指导该怎么做。

sym_cn的主页 sym_cn | 小虾三级 | 园豆:798
提问于:2014-02-24 16:08
< >
分享
最佳答案
0

每当点击退出按钮的时候,页面上创建N个隐藏的iframe,N的数量为你要退出的业务系统的数量,每个iframe里面的src指定为相应业务系统的退出页面,如:http://A/logout.aspx,http://B/logout.jsp

当然这个前提是要你首先要维护好每个业务系统的退出地址以及当前用户所登录的业务系统列表

收获园豆:40
garry | 菜鸟二级 |园豆:495 | 2014-02-26 14:40
其他回答(5)
0

在清空了B、C的 session 后,然后再清空 A 的 session,然后关闭 A 页面。

请问,你如何“清空 A 的 session”?

收获园豆:10
Launcher | 园豆:45045 (高人七级) | 2014-02-24 16:22

A的session直接删了就可以了。但是怎么清空B、C的session呢?是用回调页面还是什么其它的方法?

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-02-24 16:31

@sym_cn: 怎么直接删除?是对着页面喊一句“删除 session” 就行了吗?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-02-24 16:39

@Launcher: 在后台将session赋值为null

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-02-24 16:41

@sym_cn: 请问,你的代码中的什么语句体现出了“在后台将session赋值为null”?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-02-24 17:00
0

在三个业务系统当中分别添加一个请求处理页面,当A点击退出时,ajax分别提交请求到B。C  去处理,当两个都成功后,再销毁A会话。  

收获园豆:10
光明中的黑手 | 园豆:135 (初学一级) | 2014-02-24 16:55

B和C要怎么写呢?

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-02-24 22:49

@sym_cn: 比如你提交请求到两个,附带个账号信息,然后去遍历Session.Contents,匹配账号,然后清空

支持(0) 反对(0) 光明中的黑手 | 园豆:135 (初学一级) | 2014-02-25 09:21

@光明中的黑手: 我怎么提交请求呢?能给个例子么?A怎么提交请求,B怎么写?谢谢

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-02-25 19:49

@sym_cn: 这个东西前台的话 就直接ajax去请求啊,后台就用模拟webrequest去请求

支持(0) 反对(0) 光明中的黑手 | 园豆:135 (初学一级) | 2014-02-26 09:29

@光明中的黑手: B和C就用ashx或action清空session?

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-02-26 11:00

@sym_cn: 可以这么理解,指向一个能处理的地址就行

支持(0) 反对(0) 光明中的黑手 | 园豆:135 (初学一级) | 2014-02-27 13:52
0

用signalr可以做到吧~

收获园豆:10
帝之晓 | 园豆:98 (初学一级) | 2014-02-25 14:01
0

为什么A、B、C还有自己的Session,不是由单点登录服务器统一管理的么。

水晶途途 | 园豆:1443 (小虾三级) | 2014-02-26 10:17
0

单点登录已经实现这个了。

大概思路是:

假如在A登录,跳转到B 、 C则在SSO服务器保存一份该token对应的服务器列表,也就是ABC,同时ABC需要提供一个功能,清空本系统内的token即可。

收获园豆:30
beiyeren | 园豆:244 (菜鸟二级) | 2014-02-27 14:05

ABC的功能怎么实现呢?

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2014-03-14 09:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册