问题描述
请教一个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系统的Cookies还没有清除,用户还可以使用B系统呀?条件:A系统和B系统是完合两个不同的域名,咋破呢?
解决方案
这个只能把B系统的cookie过期时间设短一些,然后B系统的cookie到期以后去SSO服务器去问的时候,就是退出状态了。除非你SSO服务器去通知各个业务子系统清除相应的登录状态。
解决方案二:
采用bboss会话共享可以实现同根域名应用之间sso功能,相关资料可以查看bboss博文: bboss session共享架构及特点 bboss会话共享demo使用指南 bboss session共享使用方法介绍
解决方案三:
用户退出A系统时要调用sso server sso server会注销用户 删除cookiecookie只用一个 --- A B系统共享
解决方案四:
分都不给,如何快乐的回答呢
时间: 2024-09-16 15:43:20