单点登录原理 单点登陆


单点登录原理 单点登陆

文章插图
单点登录(单点登录的原则)
目录【单点登录原理 单点登陆】单点登录简介
什么是SSO&CAS?
单点登录适合什么场景?
单点登录的三种实现方式 。
CAS的几个重要知识点
CAS的实施过程
单点登录简介单点登录(SSO)是用户的一次性认证登录 。当用户登录到认证服务器一次时,他可以在单点登录系统中获得对其他相关系统和应用软件的访问 。同时,这种实现不需要管理员修改用户的登录状态或其他信息,这意味着在多个应用系统中,用户只需登录一次就可以访问所有相互信任的应用系统 。这种方式减少了登录带来的时间消耗,辅助用户管理,目前相当流行 。
A.传统登录流程图:
B.单点登录流程图:
什么是SSO&CAS?单点登录(single sign-on的缩写)单点登录是目前流行的企业业务集成解决方案之一 。SSO使用户只需在多个应用系统中登录一次,就可以访问所有可信的应用系统 。
国际体育仲裁法庭它是由CasYale大学发起的企业级开源项目,旨在为Web应用系统提供可靠的单点登录解决方案(SSO的一个框架) 。
包括CAS服务器和CA信息资源网络客户端两部分 。
CAS:负责用户的认证,需要独立部署 。
客户端:CAS负责处理对客户端受保护资源的访问请求 。当请求者需要被认证时,它被重定向到CAS服务器进行认证 。
阶段收集:一年内容,200个Java面试问题的阶段总结 。
单点登录适合什么场景?以新浪为例,单点登录 。
新浪微博和新浪博客是相互信任的应用系统;
当用户第一次访问新浪微博时,新浪微博识别用户未登录,并将请求重定向到认证中心 。身份验证中心还识别出用户没有登录,并将请求重定向到登录页面 。
当用户已登录新浪微博访问新浪博客时,新浪博客识别用户未登录,将请求重定向到认证中心,认证中心识别用户已登录并返回用户身份 。此时,用户无需登录即可使用新浪博客 。
只要多个系统使用相同的单点登录框架,它们就会相互信任 。
单点登录的三种实现方法 。1.同一域中的单点登录没有独立的SSO服务器,因为业务后台服务器本身就足以承担SSO的功能 。
2.具有父域的SSO与同域SSO不同,服务器在返回cookie时要将cookie的域设置为其父域 。
3.跨域单点登录(CAS)设置一个特殊的SSO服务器 。当两个产品在不同的域时,cookie无法共享,所以我们需要设置一个SSO服务器 。
CAS的几个重要知识点界面:/login:登录界面,用于登录中心服务器 。/logout:注销界面,用于从中心服务器注销 。
清单1.TGT(售票亭售票) :
TGT是CAS为用户颁发的登录凭证 。使用TGT,用户可以证明他们已成功登录CAS 。TGT封装了Cookie值和对应于该Cookie值的用户信息 。
2.TGC(票证授予Cookie):
服务器生成TGT,放入自己的会话中,而TGC是这个会话的唯一标识符(会话ID),以Cookie的形式放入浏览器中 。
3.ST(服务票据) :
是stcas为用户访问服务而发行的票证 。当用户访问服务时,服务发现用户没有ST,然后要求用户去CAS获取ST 。
CAS的实施过程跨域单点登录(CAS)的实现过程用户访问产品A,域名是http://www.a.cn 。
因为用户没有携带登录到A服务器的a cookie,所以A服务器被重定向到SSO服务器的地址 。
由于用户在SSO服务器上没有TGC登录,因此SSO服务器判断用户没有登录,并向用户显示统一的登录界面 。
登录成功后,sso服务器在SSO中建立用户登录的TGT,并返回一个http重定向(包括SSO服务器发送的ST) 。
重定向的http响应包含一个写cookie 。这个cookie代表用户在SSO中的登录状态,它的值是TGC 。
浏览器重定向到产品a,此时重定向的url携带了SSO服务器生成的ST信息资源网络 。根据ST,服务器向SSO服务器发送请求,SSO服务器验证账单的有效性 。验证成功后,服务器A知道用户已经登录了sso,所以服务器A构造用户登录会话 。
用户访问产品B,域名是http://www.b.cn 。
由于用户没有携带登录在B服务器上的b cookie,B服务器重定向到SSO服务器查询用户在SSO中的登录状态 。
浏览器被重定向到SSO服务器 。由于携带TGC的cookie已经被写入浏览器,sso服务器此时可以获取它 。如果找到TGT,则判断该用户已经登录单点登录 。
SSO服务器返回一个重定向,该重定向携带st 。
重定向至带有浏览器ST的B服务器 。
服务器B根据票证向sso服务器发送请求 。在票证被验证之后,服务器B知道用户已经登录到SSO,因此它生成B会话并将b cookie写入浏览器 。


推荐阅读