单点登录系统详解(8大原理机制图解)

单点登录系统详解(8大原理机制图解)单点登录 SSO 是大型架构必备技能 也是大厂重点考察对象 下面我就全面来详解单点登录 mikechen 本篇已收于 mikechen 原创超 30 万字 阿里架构师进阶专题合集 里面

大家好,欢迎来到IT知识分享网。

单点登录系统详解(8大原理机制图解)

单点登录(SSO)是大型架构必备技能,也是大厂重点考察对象,下面我就全面来详解单点登录@mikechen

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

单点登录系统详解(8大原理机制图解)

单点登录

单点登录,全称是Single-Sign-On,简称SSO,也就是说:用户只需在一个地方登录一次,即可访问多个相互信任的应用系统。

单点登录系统详解(8大原理机制图解)

还是举一个例子,比如:阿里下面有很多应用,比如:淘宝、天猫、聚划算…..等等,如下所示:

单点登录系统详解(8大原理机制图解)

如果有一种方式,登录一次,每一个子系统就都默认“登录”了,那对用户来讲,体验就会非常好。

这就是单点登录的“价值”,不仅,提高用户的使用便捷性,同时,也减少管理的负担。

单点登录实现原理

上面简要的谈了“单点登录”的价值,也知道了对于大型网站,单点登录的“重要性”。

下面,我们接着谈,如果是你,你应该怎么来实现“单点登录”呢?

单点登录的实现,一般会包含如下组件:

单点登录系统详解(8大原理机制图解)

1.CAS Server(CAS 服务器)

CAS服务器是整个CAS体系的核心组件,负责:集中处理用户的身份认证、和票据的管理。

首先,是用户的身份验证。

比如:处理用户的登录请求,验证用户凭证(如:用户名、和密码),确保用户的身份真实性。

然后,生成和管理各种票据。

比如:用户通过CAS服务器登录后,CAS服务器生成一个Ticket作为认证凭证。

以及,单点登出。

管理用户的单点登出过程,确保用户在一个应用登出后,其他已登录的应用也同步登出,维持会话的一致性。

2. CAS Client(CAS 客户端)

CAS客户端是应用系统的一部分,负责与CAS服务器进行交互。

其主要作用包括:

  • 检查用户的登录状态,未登录时重定向到CAS服务器;
  • 接收并存储从CAS服务器返回的票据(ST);
  • 向CAS服务器验证ST,确认用户身份。

3.Ticket(票据)

票据在CAS体系中用于传递和验证用户身份信息,是CAS协议中的关键元素。

主要有两种票据:TGT(Ticket Granting Ticket)和ST(Service Ticket)。

  • TGT(Ticket Granting Ticket):长期票据,用户成功登录后,由CAS服务器生成并存储在用户会话中;
  • ST(Service Ticket):短期票据,用户访问特定服务时由CAS服务器生成,每个ST只能使用一次,验证后即失效。

总之,CAS Server、CAS Client、和Ticket协同工作,实现了用户一次登录,即可访问多个应用的功能。

单点登录工作流程

工作流程,大致分为如下步骤:

单点登录系统详解(8大原理机制图解)

  1. 首先,用户访问应用A(CAS Client);
  2. 如果,应用A检测到用户未登录,将用户重定向到(CAS Server);
  3. 然后,用户在CAS Server上登录,CAS Server生成TGT,并返回ST;
  4. 然后,用户携带ST访问应用A,应用A向CAS Server验证ST;
  5. 然后,CAS Server验证成功后,应用A允许用户访问受保护资源;
  6. 然后,用户访问应用B(另一CAS Client),应用B将用户重定向到CAS Server;
  7. 然后,CAS Server检测到用户已通过TGT登录,直接生成新的ST并返回给用户;
  8. 最后,用户携带ST访问应用B,应用B验证ST后允许用户访问。

总之,单点登录是一种提升用户体验、和系统安全性的有效方式。

用户只需登录一次,即可访问多个应用系统,减少了重复登录的烦恼。

而且,还可以集中管理用户认证信息,便于统一安全策略的实施,还降低了维护成本。

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

单点登录系统详解(8大原理机制图解)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/109221.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信