知乐空间

单点登录原理(单点登陆)

单点登录(单点登录原则)

目录

单点登录简介

什么是单点登录和CAS?

单点登录适合什么场景?

单点登录的三种实现方法

中科院的几个重要知识点

CAS的实施过程

单点登录简介

单点登录是用户的一次性身份验证登录。当用户在认证服务器上登录一次时,他可以访问单一登录系统中的其他相关系统和应用软件。同时,这种实现不需要管理员修改用户的登录状态或其他信息,这意味着在多个应用系统中,用户只需登录一次就可以访问所有相互信任的应用系统。这种方法减少了登录带来的时间消耗,辅助用户管理,目前比较流行。

A.传统登录流程图:

B.单点登录流程图:

什么是单点登录和CAS?

单点登录(single sign-on的缩写)

单点登录是目前最流行的企业业务集成解决方案之一。单点登录使用户只需登录一次,就可以访问多个应用系统中所有受信任的应用系统。

国际体育仲裁法庭

它是由Casyale大学发起的企业级开源项目,旨在为Web应用系统提供可靠的单点登录解决方案(SSO的框架)。

包括两部分:CAS服务器和CAS客户端。

CAS:负责用户的认证,需要独立部署。

CAS客户端:负责处理对客户端受保护资源的访问请求。当需要请求者的身份认证时,它被重定向到CAS服务器进行认证。

阶段总结收集:一年内容,阶段总结200道Java面试题。

单点登录适合什么场景?

以新浪为例,单点登录。

新浪微博和新浪博客是相互信任的应用系统;

当用户第一次访问新浪微博时,新浪微博识别用户未登录,将请求重定向至认证中心,认证中心也识别用户未登录,将请求重定向至登录页面。

当用户登录新浪微博访问新浪博客后,新浪博客识别出用户未登录,并将请求重定向至认证中心。认证中心识别用户已登录并返回用户身份。此时用户无需登录即可使用新浪博客。

只要多个系统使用同一个单点登录框架,它们就会相互信任。

单点登录的三种实现方法

1.同一域中的单点登录

没有独立的SSO服务器,因为业务后端服务器本身就足以承担SSO功能。

2.具有父域的单点登录

与同域SSO不同,服务器返回cookie时,应该将cookie的域设置为其父域。

3.跨域单点登录

设置一个特殊的单点登录服务器。当两个产品在不同的域中时,cookie是不能共享的,所以我们需要构建一个SSO服务器。

中科院的几个重要知识点

接口:

/login:登录中央服务器的登录界面。/注销:注销界面,用于从中央服务器注销。

清单

1.TGT(售票亭) :

TGT是中科院为用户发行的登录券。有了TGT,用户可以证明他们已经成功登录中科院。TGT封装了Cookie值和对应于该Cookie值的用户信息。

2.TGC(票证授予Cookie):

CAS服务器生成的TGT放入自己的Session,TGC是这个Session (SessionId)的唯一标识符,以Cookie的形式放入浏览器。

3.服务票:

是ST CAS为用户访问某项服务而签发的票证。当用户访问服务时,服务发现用户没有ST,因此要求用户去CAS获取ST。

CAS的实施过程

跨域单点登录(CAS)的实现过程

用户访问产品A,域名为http://www.a.cn。

由于用户没有携带登录到服务器的cookie,服务器重定向到单点登录服务器的地址。

由于用户没有携带登录到单点登录服务器的TGC,单点登录服务器判断用户没有登录,并为用户显示统一的登录界面。

登录成功后,sso服务器在SSO中构建用户登录的TGT,并返回一个http重定向(包括SSO服务器发送的ST)。

重定向的http响应包含写cookie。该cookie代表用户在单点登录中的登录状态,其值为TGC。

浏览器重定向到产品a,此时重定向的url携带SSO服务器生成的ST。根据ST,A服务器向SSO服务器发送请求,SSO服务器验证账单的有效性。验证成功后,A服务器知道用户已经登录sso,因此A服务器建立用户登录会话。

用户访问产品B,域名为http://www.b.cn。

由于用户没有携带B服务器登录的b cookie,B服务器重定向到SSO服务器,查询用户在SSO中的登录状态。

浏览器被重定向到单点登录服务器。由于带有TGC的cookie已经写入浏览器,sso服务器此时可以获取它,并根据TGC查找TGT。如果找到,则判断用户已经登录SSO。

SSO服务器返回一个重定向,它携带ST。

浏览器用ST重定向到B服务器。

服务器B根据票证向sso服务器发送请求。票证验证后,服务器B知道用户已经登录SSO,于是生成B会话,将b cookie写入浏览器。

作者:Java面试题精选

链接:https://mp.weixin.qq.com/s/Fcd7626X18_hw

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: