浏览 24901 次
锁定老帖子 主题:sso研究2-------跨域cookie
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-21
用跨域cookie实现sso 是比较简单的 主要用两个操作:登陆和登出 <o:p> </o:p> 登陆操作 --- SSOLoginServlet来实现用户输入用户名密码 Sso server验证其正确性 将用户名加密后写入cookie Cookie cookie = new Cookie(SSOConst.SSOID_KEY, ssoid); cookie.setMaxAge(maxAge); cookie.setDomain(".ecc.com"); cookie.setPath("/"); 以上几行代码是sso的核心 cookie.setDomain(".ecc.com");这句代码可以实现所有的以.ecc.com结尾的域名都能访问这个cookie <o:p> </o:p> 登陆操作完成 此时这个标志用户已经登陆的cookie 被写进了浏览器的cookie <o:p> </o:p> 登出操作 ---- SSOLogoutServlet来实现<o:p> </o:p> 客户端只要调用这个servlet就完成了用户的登出 这个servlet完成的操作就是把登陆时写的cookie 删除掉 我们只需要将这个cookie的maxAge 设置为0即可 <o:p> </o:p> 子域之间的交互假设有两个应用A.ecc.com 和 B.ecc.com 如果我在a应用中登陆成功 那么当我切换到B的时候 B怎么能感知到用户已经登陆呢? 过滤器可以很好的解决这个问题 --- SSOFilter <o:p> </o:p> 假如我在A中成功登陆,现在要访问B,那么可以在访问b的受保护页面的时候先经过过滤器,过滤器的功能是检查是否存在这个cookie,如果存在表示用户已经登陆,否则转到登陆页面 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-05
我也是被标题骗进来的,你这个还是在同一个域内呀
|
|
返回顶楼 | |
发表时间:2007-03-31
请教:
看下面或到 正在做原有程序,论坛和blog的整合. 认证这部分非常令人恼火 原先的程序用户认证部分没有使用session方式,就是为了以后的集群考虑,没想到有出现了别的问题 论坛程序使用的是: mvnforum,jforum也安装上了,不过看他的代码一点注释都没有,另外一点文档也没有,所以不敢用了. blog程序用的是: jroller,sun的网站用的就是这个,网易好像也是用这个改的 服务器使用的是 linux CentOS4.4 jsp服务器 Tomcat5.5.23 数据库 mysql5 web服务器 目前使用的是lighttpd 可能用到域名: blog: blog.xx.com 论坛: bbs.xx.com 旧有系统: www.xx.com ---------------------------------------------------------------------- 闹心的问题: 如何与原先的系统集成,达到单点登录目的. 请大家各抒己见 |
|
返回顶楼 | |
发表时间:2007-03-31
请教:
看下面或到http://xmlspy.iteye.com/admin/show/66745 正在做原有程序,论坛和blog的整合. 认证这部分非常令人恼火 原先的程序用户认证部分没有使用session方式,就是为了以后的集群考虑,没想到有出现了别的问题 论坛程序使用的是: mvnforum,jforum也安装上了,不过看他的代码一点注释都没有,另外一点文档也没有,所以不敢用了. blog程序用的是: jroller,sun的网站用的就是这个,网易好像也是用这个改的 服务器使用的是 linux CentOS4.4 jsp服务器 Tomcat5.5.23 数据库 mysql5 web服务器 目前使用的是lighttpd 可能用到域名: blog: blog.xx.com 论坛: bbs.xx.com 旧有系统: www.xx.com ---------------------------------------------------------------------- 闹心的问题: 如何与原先的系统集成,达到单点登录目的. 请大家各抒己见 |
|
返回顶楼 | |
发表时间:2007-03-31
To make things even worse, what if you have two sso's. You may say, hey, SSO by definition is single. Well, what if you use one SSO for two years, then switch to another SSO from a different vendor, then in the middle of the switch, you have two SSO's, until you retire the first one completely.
|
|
返回顶楼 | |