请教一个SSO登录的问题:
1、访问A系统,先检查自己域名下的Cookies信息,发现不存在,跳转到SSO校验中心,再校验,发现没有登录,跳转到登录页面;
2、登录成功后,生成ticket,并在A系统中生成自己域名下的Cookies信息,再次访问A系统中应用时,先校验Cookies, 发现存在,不再去SSO校验;至后,用户可以A系统中快乐的访问;
3、这时用户要访问B系统,把生成的ticket带到B系统中,发现没有cookies,去SSO校验,已登录,生成B系统下的Cookies,用户可以快乐的使用B系统;
4、用户在A系统中,点击退出,清除域名下Cookies和SSO登录信息;用户在A中已退出;
5、[b]可是:B系统的Cookies还没有清除,用户还可以使用B系统呀?[/b]
条件:A系统和B系统是完合两个不同的域名,咋破呢?
这个只能把B系统的cookie过期时间设短一些,然后B系统的cookie到期以后去SSO服务器去问的时候,就是退出状态了。
除非你SSO服务器去通知各个业务子系统清除相应的登录状态。
分都不给,如何快乐的回答呢
用户退出A系统时要调用sso server
sso server会注销用户 删除cookie
cookie只用一个 --- A B系统共享
采用bboss会话共享可以实现同根域名应用之间sso功能,相关资料可以查看bboss博文:
[url=http://yin-bp.iteye.com/blog/2079685]bboss session共享架构及特点 [/url]
[url=http://yin-bp.iteye.com/blog/2087308]bboss会话共享demo使用指南[/url]
[url=http://yin-bp.iteye.com/blog/2064662]bboss session共享使用方法介绍[/url]