大家好,我是mikechen。

单点登录是非常核心的分布式系统,比如:阿里、淘宝等大型网站都会涉及到,下面我就全面来详解:CAS单点登录@mikechen

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

单点登录phpticket单点登录最全详解图文周全总结 PHP

单点登录

单点登录 (Single Sign-On,简称SSO) 是一种身份验证机制,许可用户利用一组凭据(例如:用户名和密码)。

用户登录一次即可,就可以登录多个干系但独立的软件、系统或运用程序,而无需为每个别系重新登录。

单点登录代价

SSO简化了用户的登录体验,避免了在每个别系中重复输入登录凭据的麻烦,提高了用户的满意度。

如下图所示:

阿里旗下有多个网站,比如:淘宝、天猫、聚划算...等等, 用户只须要登录一次,别的都无需重复登录。

单点登录,简化了用户在多个别系中的操作流程,节省了韶光和精力,提高了生产力,也极大的提升了用户体验。

以是,很多大型网站,涉及到多个别系的场景,都会运用到单点登录。

CAS单点登录系统

CAS单点登录系统,全称是Central Authentication Service,是是由耶鲁大学开拓的单点登录系统。

CAS通过票据交流的办法实现单点登录,支持多种编程措辞和平台、CAS可以轻松地集成到现有的身份管理系统中。

CAS(Central Authentication Service)的实现确实包括三个核心组件:

如下图所示:

包含3大组件:

1.CAS Server(CAS 做事器)

CAS做事器,卖力处理用户的认证要求,并颁发票据(Ticket)给客户端,它验证用户的身份凭据(常日是用户名和密码),创建和管理会话,并卖力处理票据的天生和验证。

2.CAS Client(CAS 客户端)

CAS客户端,是须要集成CAS认证的运用程序或做事供应者(Service Provider,SP)。

CAS客户端卖力将用户重定向到CAS做事器以进行认证,吸收和验证CAS做事器返回的票据,并基于票据创建或掩护用户的会话。

3.Ticket(票据)

票据是CAS系统中用于表示认证成功的凭据,CAS做事器颁发的票据可以是不同类型的,例如:Service Ticket(用于标识用户与特定做事之间的关联)和Proxy Ticket(用于代理认证)。

票据是CAS单点登录的核心机制之一,用于实现用户的身份认证和会话管理。

这三个组件共同构成了CAS单点登录系统的核心,通过相互协作,实现了用户在多个做事之间的单一认证、和会话管理。

CAS单点登录实现事理

CAS单点登录的实现,紧张通过票据的交流和验证,CAS实现了用户在多个做事之间的单点登录。

如下图所示:

紧张流程,大致如下:

1.认证过程:

用户访问运用程序,并尚未登录。
运用程序将用户重定向到CAS做事器。
CAS做事器哀求用户供应身份验证凭据(如:用户名和密码)。
用户供应凭据后,CAS做事器验证凭据的有效性。
如果验证成功,CAS做事器会创建一个票据(Ticket),并将其发送回运用程序。
运用程序利用票据去CAS做事器验证票据的有效性。

2.票据交流过程:

运用程序收到票据后,向CAS做事器发送要求以验证票据。
CAS做事器验证票据,并返回给运用程序一个成功或失落败的相应。
如果验证成功,运用程序许可用户访问受保护的资源。

3.会话建立:

如果票据验证成功,SP将创建一个本地会话并将用户标识为已认证状态,从而利用户可以访问受保护的资源。
用户在该会话中可以自由访问运用程序的其他受保护资源,而无需再次进行认证。

CAS单点登录运用处景

1.电商平台

在电子商务平台上,用户可能须要访问多个子系统,例如:阿里的天猫、淘宝、支付系统、客户做事...等。

2.企业内部

以及,在企业内部,员工可能须要访问多个别系,例如电子邮件、文档管理系统、人力资源系统等。

许可员工,通过一次登录访问企业内部的多个别系,如:邮箱、文件分享、人事管理系统等,提高员工事情效率。

3.云做事

以及,在利用云做事供应商供应的多个做事时,可以利用单点登录,实现统一的身份认证,简化用户的登录体验。

总之,利用单点登录,可以极大的简化的登录流程,提高事情效率,极大的提升用户体验。

以上

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