`
xly_971223
  • 浏览: 1266777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sso研究2-------跨域cookie

阅读更多
 

用跨域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 删除掉

我们只需要将这个cookiemaxAge 设置为0即可

<o:p> </o:p>

子域之间的交互

假设有两个应用A.ecc.com B.ecc.com

如果我在a应用中登陆成功 那么当我切换到B的时候 B怎么能感知到用户已经登陆呢?

过滤器可以很好的解决这个问题 --- SSOFilter

<o:p> </o:p>

假如我在A中成功登陆,现在要访问B,那么可以在访问b的受保护页面的时候先经过过滤器,过滤器的功能是检查是否存在这个cookie,如果存在表示用户已经登陆,否则转到登陆页面

  • sso.rar (6.5 KB)
  • 下载次数: 1678
分享到:
评论
6 楼 pengcheng 2007-07-12  
dsfsd [list=][/list]sdfsdfsdfsdf[list=]sdfsdf[/list]fsdfsdfs[list=]sdf[/list]sdf[list=]dfsd[/list]sd[list=]sdf
5 楼 thebesghost 2007-06-21  
好文章啊!好文章!!
4 楼 jellyfish 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.
3 楼 xmlspy 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
----------------------------------------------------------------------
闹心的问题:

如何与原先的系统集成,达到单点登录目的.

请大家各抒己见

2 楼 xmlspy 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 
----------------------------------------------------------------------
闹心的问题:

如何与原先的系统集成,达到单点登录目的.

请大家各抒己见

1 楼 daquan198163 2007-01-05  
我也是被标题骗进来的,你这个还是在同一个域内呀

相关推荐

    SSO单点登录【基于cookie二级域名下跨域共享】

    SSO单点登录【基于cookie二级域名下跨域共享】的简单实现。

    xxl-sso:分布式单点登录框架。(分布式单点登录框架XXL-SSO)

    拥有“轻量级,分布,跨域,Cookie + Token均支持,Web + APP均支持”等特性。扩展开放源代码,开箱即用。 文献资料 通讯 产品特点 简洁:API直观简洁,可快速上手 轻量级:环境依赖小,部署与接收成本费用

    单点登录SSO-图示与讲解

    3. SSO核心在写Cookie、URL传参策略,其参与对象多、逻辑分支繁杂也难倒很多人。所见的其它教程图示往往对Cookie和传参语焉不详,让人初看简单明了、细想很困惑。我做的时序图详细展现了这些关键细节。

    sso跨域写cookie的一段js脚本(推荐)

    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; [removed] var setcookitarray = ""; setcookitarray = "[\"http://passport.a.com/main/setCookie.do?domain=\",\...

    xxl-sso-master.zip

    一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持"等特性;。现已开放源代码,开箱即用

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    但是有一个限制,那两台部署应用(demo1、demo2)的 机器的域名需要相同,这在后面的章节中会解释到cookie和domain的关系以及如何制作跨域的WEB-SSO 解压缩SSOAuth.zip文件,在/WEB-INF/下的web.xml中请修改...

    SSO.doc解决单点登录

    2、设置Cookie的域setDomain(".itcast.com");即bbs.itcast.com,或是mail.itcast.com有效。即跨域。 3、设置Cookie的时间。即使用户不选择在几天内自动登录,也应该保存Cookie以保存在当前浏览器没有关闭的情况下有效...

    详解cookie验证的php应用的一种SSO解决办法

    详解cookie验证的php应用的一种SSO解决办法 近日,项目中需要接入一个“年久失修”的PHP应用,由于系统已经建设多年,并且是信息中心自己的人通过某些工具弄出来的,而且是本人未真正接触过的PHP写的,而且跟我们的...

    sso:运维云平台之单点登录系统(基于cookie)

    SSO单点登录系统运维云平台之单点登录系统,SSO的概念,用途和好处就没有这说明了,总之能接收好接单点登录的系统就可以接,二次开发成本高的系统如果支持LDAP就先接入LDAP,这样运维同学尽可能减少&gt;少应用系统账号...

    详解可跨域的单点登录(SSO)实现方案【附.net代码】

    SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否为空,为空的话跳转到登录界面登录,不为...

    高级java笔试题-learnDoc::fire:架构师的成长之路-博客-导图

    跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...

    kisso单点登录

    kisso 采用的是加密会话 cookie 机制实现单点登录 SSO 服务,具备“无状态”、“分散验证” 等特性。 1、session 存放在服务器端,cookie 存放在客户端,存在两种状态:“ 第一种:持久 cookie 具有时效性,以文件的...

    利用Nginx处理Vue开发环境的跨域的方法

    本地测试域名与线上域名相同,以便正确传递 Cookie 和进行 SSO 测试。 注:由于 SSO 登录后,相关 Cookie 被加在四级域名上,因而需要做到本地测试域名和线上接口域名相同。 2. 方案 配置 Host 文件使线上域名指向 ...

    java版飞机大战源码-learnDoc:学习文档

    跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...

    java版飞机大战源码-learnDoc:架构师的成长之路

    跨域读写cookie的例子 思维导图 和java相关的 更多干货 更多干货 更多干货 分布式 实战(干货) 更多干货 spring cloud spring cloud 实战(干货) 更多干货 mybatis 更多干货 RPC spring boot spring boot 实战...

    项目实战:SSO单点登录方案

    本套视频,详解讲解了两套SSO解决方案. 1、基于Cookie跨域特性,实现SSO方案 2、使用第三方框架CAS,实现SSO方案

    PHP编程 SSO详细介绍及简单实例

    第一种模式很简单,只需要将Cookie的域设置成多个应用的根域即可 第二种方式,也很简单,就是将所以应用的认证地址更换成同一个认证地址,每次查看是否在认证中心登陆,如果登陆了,给调用应用发放一个加密令牌即可 第...

    一个适合新手学习的电商项目

    shop &gt;前言:基于ssm分布式开发实现的电商项目(聚合工程) 注:本项目为开源项目,不能用于商业应用,仅供学习。... // 2.redis不为空,cookie为空sync(null, redis) if (cookie == null || "".equals(cookie))...

    javabitset源码-developer-knowledge-map:后端开发人员知识图谱

    java bitset 源码 后端开发者知识图谱 大体了解,按需精通 语言 ...Laravel JAVA Go JavaScript(TypeScript) ...服务器脚本、科学计算、机器学习 ...Session、Cookie JWT Oauth SSO 测试 单元测试 mock TDD

Global site tag (gtag.js) - Google Analytics