`
xly_971223
  • 浏览: 1277651 次
  • 性别: 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-user-cookie.zip

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许...这个Demo为开发者提供了一个实践SSO单点登录的好起点,通过研究源代码,你可以深入了解SSO的实现细节,以及如何在Web应用中安全地使用Cookie进行身份验证。

    sso-use-cookie单点登录

    在这个项目中,我们利用SpringBoot框架来实现基于Cookie的SSO。下面将详细解释这个项目的实现原理、流程以及涉及的关键技术。 一、SpringBoot与SSO结合 SpringBoot以其简洁的配置和强大的功能深受开发者喜爱,是...

    跨域 SSO单点登录 DEMO

    通过研究这个DEMO,你可以深入理解SSO的工作原理,以及如何解决跨域带来的挑战。对于前端开发者,了解如何与后端协作实现SSO,以及如何处理跨域请求的JavaScript代码至关重要;而对于后端开发者,理解CAS服务器的...

    ASP.NET跨域SSO解决方案

    ### ASP.NET跨域SSO解决方案 #### 一、引言 在现代企业级应用开发中,随着业务系统越来越复杂,各个子系统之间的交互也日益频繁。为了提高用户体验并简化管理流程,单点登录(Single Sign-On,简称SSO)成为了一个...

    SSO跨域读写cookie

    单机模拟多台主机,跨域写cookie场景

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

    在基于Cookie的二级域名下跨域共享SSO实现中,核心概念是利用Cookie的特性来实现用户身份的共享与传递。 首先,我们了解SSO的工作原理。当用户首次访问一个应用系统(例如,`app1.example.com`)时,如果用户尚未...

    SSO完整版跨域单点登录

    SSO系统的关键技术通常包括Cookie管理、跨域通信(CORS)、安全票据加密等。为了实现跨域,可能会利用JSON Web Tokens(JWT)或OAuth 2.0等协议。同时,为了防止CSRF攻击和保护用户隐私,还需要对HTTP请求头进行严格...

    完全跨域SSO

    在这个“完全跨域SSO”实现中,我们将探讨如何跨越不同的域名或子域名实现SSO功能,这对于大型企业或拥有多个子网站的组织来说尤其重要。 首先,我们需要理解SSO的核心概念:票据(Ticket)。在SSO流程中,用户首次...

    跨域点单登录源码SSO_cross_domain

    跨域点单登录源码SSO_cross_domain是一个用于实现单点登录(Single Sign-On, SSO)的项目,主要解决了用户在多个域名之间切换时无需重复登录的问题。在这个项目中,我们将探讨三个核心概念:跨域、点单登录以及SSO。...

    完全跨域的单点登录 完全跨域的单点登录

    为实现跨域SSO,通常采用的方式是在认证服务器设置一个共享的Cookie,或者使用JSONP、CORS等技术来绕过同源策略。 4. 示例项目WebSSOAuth与WebSSODemo: "WebSSOAuth"可能是一个包含认证逻辑的服务端项目,它负责...

    cross-domain-sso:跨域单点登录案例研究

    2. **票据存储**:浏览器将这个票据存储在Cookie或者LocalStorage中,确保在后续的跨域请求中可以携带。 3. **跨域请求**:当用户访问另一个子域(如sub.example.com)时,浏览器会自动将主域的票据发送到该子域。 ...

    SSO 单点登录(java)

    2. **票据(Ticket)**:在SSO中,用户成功登录AC后,AC会生成一个唯一的票据(如:Ticket Granting Ticket, TGT),这个票据可以看作是用户身份的临时证明。当用户访问其他子系统时,只需要提供TGT即可,而不需要...

    单点登录SSO-图示与讲解

    - **Cookie管理**:在跨域SSO场景中,Cookie的管理尤为重要。由于浏览器安全策略限制,不同一级或顶级域名下的站点无法相互读取对方设置的Cookie。因此,实现跨域SSO需要特别关注Cookie的写入、读取策略及其传递方式...

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

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

    smartsso单点登录.rar

    4. **Cookie和Session管理**:SSO系统需要管理和维护用户的会话状态,避免跨域会话攻击。 5. **安全策略**:包括密码策略、访问控制策略、多因素认证等,确保系统的安全性。 6. **监控与日志**:实时监控SSO系统的...

    单点登录(SSO)-同域名、不同域名

    这解决了Cookie跨域的问题。 2. **Session共享**:虽然各应用系统间默认不会共享Session,但可以通过多种方式实现Session的共享,如使用Spring Session等技术方案。这种方式确保了无论用户访问哪个子系统,都能够...

    xxl-sso-master.zip

    XXL-SSO 是一个专为此目的设计的开源框架,它提供了轻量级、分布式、跨域以及对Cookie和Token的支持,适用于Web和APP应用。 1. **轻量级**:XXL-SSO 设计简洁,易于理解和部署,降低了对系统资源的需求,使得小型到...

    单点登录(SSO)实现方式(附源码).doc

    2. 跨域的SSO实现: 当应用系统分布在不同的顶级域名下,如site1.com和site2.com,由于浏览器的同源策略限制,不能共享Cookie,因此需要更复杂的机制。一种常见的跨域SSO实现思路如下: a. **SSO-Server**:用户...

Global site tag (gtag.js) - Google Analytics