admin 管理员组文章数量: 1184232
2024年4月13日发(作者:为什么要学习matlab)
SSO实现原理
SSO实现原理图
A系统
B系统
1、访问C系统
C系统
用户
无:提交login
ticket
检查
有:提交验证
ticket
Portal:login
Portal:认证中心
Cookie
检查
无
重订向C系统登录
有:返回ticket
Ticket
验证
验证通过
验证失败,重新登录
1、 用户登录A系统,系统检查ticket.
1.1 有,提交认证中心验证,认真通过重定向A系统并返回USERNAME,A系统生成自己
的Session.
1.2 无,提交LOGIN进行COOKIE检查,有则重定向返回A系统并TICKET,A系统生成
自己的Session;无则重新登录
重点:根据PORTAL服务器上的COOKIE判断用户是否登录过PORTAL, COOKIE里带有
TICKET.
2、 其他系统重复此动作
1. SSO需求
单点登录(Single Sign On, SSO)是企业应用集成中最常见的需求。异构系统间往往都有
各自的用户管理和身份验证机制,为避免用户在进行系统切换时频繁输入用户名和密码,因
此必须要实现单点登录。
2. SSO原理
说到SSO的原理,先得说一般Web应用的身份验证原理。Web身份验证之所以能成为
问题主要在于HTTP协议的无状态性,这导致了每次HTTP的请求和响应的无关性。而应用
的状态保持是大部分应用系统的一般性需求,因此必须借助其他机制,这就是Cookie。
2.1. Cookie的原理
一个Cookie由name、value、domain、path、expires组成。可以给HTTP响应添加Cookie,
然后Cookie就作为HTTP响应的Headers返回给浏览器,例如Domino的登录成功后的Cookie
响应头为:Set-Cookie: DomAuthSessId=1AD479C4D11CD10278A4C523320A6918; path=/
没有设置expires就表示仅在当前浏览器进程生命期内有效,不保存到客户机上;若expires
时间大于当前时间,则浏览器在收到这个 Cookie以后将其写入到客户机文件中,一般是保
存在C:Documents and SettingsAdministratorCookies下。没有设置domain就表示只在当前
域内有效。
当客户机再次请求该域内的其他资源时,浏览器会自动将该域内的Cookie附在请求的
Headers一起发送给Web服务器,形如:
Cookie: DomAuthSessId=1AD479C4D11CD10278A4C523320A6918
如此Web应用就能够通过读取HTTP请求Headers里面的Cookie值来判断用户身份,这样
也就间接实现了HTTP的状态保持需
求。
应用
COOKIE:
某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过
加密)
版权声明:本文标题:SSO实现原理 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1712980579a615470.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论