我是用共享cookie实现sso,cookie 里面保存了加密后的用户名 密码,子应用通过filter拦截cookie进行本地登陆,现在的问题是sso用户退出如何实现?
我的思路是:
先删除共享cookie
然后用httpclient分别调用各个子应用的logout url 如 http://a.mydomain/logout.do 这种方法比较麻烦
还有一种思路是sso logout时只删除共享cookie,然后在过滤器中判断,并删除子应用的登陆数据
sso退出应该有比较成熟的解决方案 有了解的麻烦回复一下
退出的做法肯定与你的登录的作法息息相关。看你的描述好像只是单域名的SSO应用。我觉得你的基本思路应该没有什么问题。但是提醒一句,密码好像不应该保存在 cookie里,而是用一个token来做为登录标识。
另外,用httpclient做这个工作是不合适的。因为你用httpclient来连接server的时候,是用了另外一个连接,删除的cookie也是这个连接的cookie.你要做的是删除浏览器的cookie,这样才能从浏览器里注销当前用户。