单点登录SSO详解(原理+架构+流程)

单点登录是大型架构必备,下面我详解单点登录SSO@mikechen

单点登录SSO

单点登录(Single Sign-On,简称 SSO),是一种身份认证机制。

允许用户只需登录一次,就能访问多个相互信任的系统或应用。

单点登录SSO详解(原理+架构+流程)

其核心目标是 统一认证、集中管理、减少重复登录、提升用户体验

 

单点登录原理

单点登录的实现原理,如下图所示:

单点登录SSO详解(原理+架构+流程)

主要由以下三大核心组件组成:

CAS Server(认证中心)

负责用户身份验证、颁发 Ticket(票据)、管理登录会话。

用户首次登录时会在此完成认证。

CAS Client(客户端)

部署在各业务系统中,用于与 CAS Server 交互。

接收并验证 Ticket,以判断用户身份是否合法。

Service(业务系统)

即被保护的具体应用系统(如后台管理、订单系统、用户中心等)。

用户访问 Service 时,会被 CAS Client 重定向到 CAS Server 进行登录认证。

单点登录工作流程

工作流程,如下图所示:

单点登录SSO详解(原理+架构+流程)

1.用户访问业务系统(Service)

用户首次访问某个业务系统(例如订单系统),由于尚未登录,会被 CAS Client 拦截请求。

2.重定向到 CAS Server

CAS Client 会将用户重定向至 CAS Server 登录页,并携带当前 Service 的地址。

3.用户在 CAS Server 登录

用户在 CAS Server 页面输入账号密码,CAS Server 完成认证(通常会结合数据库、LDAP、OAuth等)。

4.CAS Server 生成票据(Ticket)

验证成功后,CAS Server 生成 Service Ticket(ST),并重定向回最初访问的 Service。

5.CAS Client 校验票据

CAS Client 接收到 ST 后,向 CAS Server 发起验证请求。

验证通过 → 用户登录成功。

验证失败 → 返回登录页重新认证。

6.建立本地会话

验证成功后,Service 会为用户建立本地 Session,实现后续访问无需再次登录。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧