`
haohao-xuexi02
  • 浏览: 208765 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

转载 单点登录(1)

    博客分类:
  • java
阅读更多

原文:http://soft-app.iteye.com/blog/928295

 

近来搞了一下单点登录。

我们弄的单点登录估计是最简单的。

【概要原理】:

假设有2个应用站点A和B,都需要登录才可以访问,另外有一个专门负责登录的站点SSO。

现在有个用户访问站点A,站点A会先检查该用户是否已经登录,如果已经登录,则返回相应页面;否则转向SSO进行登录,登录成功后,转回站点A,返回请求的相应页面。

接着,该用户又访问站点B。同样,站点B会先检查该用户是否已经登录。这时候发觉是已经登录,于是直接返回请求的相应页面。

这就是单点登录,一次登录,处处通行。

【细节原理】

如何知道用户是否登录?

在SSO登录的时候,会将登录信息记入SSO的COOKIE;返回应用站点A或B时,同时将登录信息记入A或B的COOKIE。因此,登录信息在SSO和应用站点各有一份。

当有用户请求页面的时候,应用站点先检查自身的COOKIE,有的话,就表示已经登录,没有才转向SSO进行登录。

转到SSO的时候,SSO也先检查自己的COOKIE,看是否已经登录,有的话则自动转回应用站点,告诉应用站点该用户已经登录;如果没有COOKIE,才出现登录界面,让用户进行登录。因此,无论哪个应用站点先登录,SSO都有COOKIE,从而实现单点登录。

SSO上的COOKIE应该是永久性COOKIE或者时间比较长的COOKIE,例如2周,1个月,等等;而应用站点的COOKIE是临时性COOKIE,浏览器关掉就会消失那种。

【登出】

步骤是先清除应用站点的登录COOKIE,然后转到SSO清除SSO的COOKIE。

由此可知,单点登录不等于单点登出,站点A登出以后,站点A和SSO的COOKIE都被清除,但站点B的COOKIE还在,它并不知道已经登出了,除非浏览器被关掉,否则它还可以正常运行。

看起来这是一个BUG。不过,对安全性要求不高的情况下,并不会出现很大的问题

分享到:
评论

相关推荐

    单点登录的ppt

    关于单点登录的小文件,Sso是一个技术总监们关心和热衷讨论的话题,需求量很大,但是实际需要掌握的此技术的人不用很多,毕竟哪有那么多技术总监的岗位呢?每个公司有这么一位牛人就够了,或者好多公司共用一个这样...

    转载CAS_SSO单点登录实例详细步骤

    CAS_SSO单点登录实例详细步骤,讲解的非常详细

    【转载】CAS实现单点登录(SSO)经典完整教程

    NULL 博文链接:https://chengtong-java.iteye.com/blog/2262977

    基于.Net的单点登录(SSO)实现解决方案

    SSO的解决方案很多,但搜索结果令人大失所望,大部分是相互转载,并且描述的也是走马观花,本文对此进行详细介绍,需要了解的朋友可以参考下

    java办公oa系统源码-spring-security-oauth2-sso-sample:SSOsampleapplicationbase

    java办公oa系统源码 转载请注明作者及出处: ...单点登录系统基于一种安全的通信协议,该协议通过多个系统之间的用户身份信息的交换来实现单点登录。使用单点登录系统时,用户只需要登录一次,就可以访问多个系

    商城web代码

    单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。 --------------------- 作者:Tom_WangBo 来源:CSDN 原文:...

    jwt尝试实现springboot

    该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务...

    java8源码-JavaInterview:Java面试

    单点登录 常用框架 Spring SpringBoot 分布式 dubbo zookeeper RocketMQ RabbitMQ kafka 消息中间件 redis 分布式系统 线上问题调优(虚拟机,tomcat) 面试指南 工具 Git Docker 其他 权限控制(设计、shiro) Java...

    ASP.NET安全认证

    这不,上头说在整合两个项目,做成单一登录(SingleSignOn),也有人称之为“单点登录”。查阅相关文档后,终于实现了,现在把它拿出来与大家一起分享。或许大家会问:“这与标题不符呀?”别急,在下笔之前,我脑子...

    中国超雪icarrier运营商补丁

    icarrier已经更新支持ios6.x -ios7.0(b1-b4测试版),并且完美解决了电话本问题。卡贴解锁机无需再加86也能来电...转载请注明: 中国超雪 » iCarrier运营商配置补丁程序更新,兼容iphone4s与iphone5支持6.1.4 ios7.0

    Win7系统怎样安装SQL2000数据库.doc

    会发现sa用户不能连到数据库(查询分析器和编程中只支持Windows登录 验证),解决办法如下: 注册表中键值 [HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER] 这个项里面有一个键值LoginMode,默认下...

    asp.net知识库

    如何在DotNet 2的登录组件中检索用户的锁定状态及解锁? ASP.NET 2.0, 想说爱你不容易 SqlDataSource WEB控件:当DeleteCommandType= 遭遇 ASP.NET 2.0 只读 TextBox 回发后信息丢失的 bug asp.net2.0:扩展...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    1、系统采用模块化开发,可自由屏蔽暂时没有用到的功能模型,同时又是一款100%开源的程序,二次开发更方便。 2、系统支持整站生成HTML静态和动态ASP 整个系统都可以生成静态HTML,有效的提高了系统的性能,不仅...

    海蜘蛛软路由宽带叠加双倍网速

    零成本制造一个虚拟的多 WAN 路由器,多条宽带叠加上网 使用条件: ...补充点,有网友说访问软路由WEB访问经常打不开,请将虚拟机的VMware Network Adapter VMnet1网卡的IP地址设置为192.168.0.X,如下图所示:

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    候不点enterBtn,而是直接关闭对话框,那么此时整个程序应该结束执行,但 是事实是这样的吗?如果你此时对程序进行了改动,再次按下run 按钮,你会发 现又出现了error: collect2: ld returned 1 exit status 的错误...

Global site tag (gtag.js) - Google Analytics