单点登录(SSO)与单例登录(Single Login)学习笔记

发布于:2025-02-19 ⋅ 阅读:(24) ⋅ 点赞:(0)

1. 单点登录(SSO)

1.1 单点登录的定义

单点登录(Single Sign-On, SSO)是一种认证机制,允许用户使用一个账户登录多个相互信任的应用系统,从而在多个系统之间实现单一的登录和认证。

1.2 单点登录的工作原理

单点登录的基本原理是通过一个中央认证服务器(CAS)来进行用户认证,并在用户成功登录后生成一个认证凭据(如Token或Cookie),其他应用系统可以通过验证该凭据来实现登录。

1.3 单点登录的实现方式

1.3.1 基于Cookie的SSO
  • 用户访问应用系统A,系统A将用户重定向到中央认证服务器(CAS)。
  • 用户在CAS上进行认证,成功后生成一个Cookie,并将用户重定向回系统A,系统A记录用户已登录。
  • 用户访问应用系统B,系统B检查到用户未登录,将用户重定向到CAS。
  • CAS检查到用户已登录,直接将用户重定向回系统B,系统B记录用户已登录。
1.3.2 基于Token的SSO
  • 用户访问应用系统A,系统A将用户重定向到中央认证服务器(CAS)。
  • 用户在CAS上进行认证,成功后生成一个Token,并将用户重定向回系统A,系统A记录用户已登录。
  • 用户访问应用系统B,系统B检查到用户未登录,将用户重定向到CAS。
  • CAS检查到用户已登录,生成Token并将用户重定向回系统B,系统B记录用户已登录。

1.4 单点登录的优缺点

优点
  • 用户体验好:用户只需登录一次,即可访问多个系统。
  • 安全性高:集中管理用户认证信息,减少密码泄露风险。
  • 易于管理:集中管理用户账户和权限。
缺点
  • 实现复杂:需要配置和维护中央认证服务器。
  • 单点故障:中央认证服务器故障会影响所有系统的登录功能。

2. 单例登录(Single Login)

2.1 单例登录的定义

单例登录(Single Login)是一种认证机制,确保同一用户在同一时间只能在一个地方登录。如果用户在另一个地方尝试登录,系统会自动将之前的登录状态注销。

2.2 单例登录的工作原理

单例登录的基本原理是通过在服务器端维护用户的唯一登录状态。如果同一用户在不同地方进行登录,系统会检查并更新用户的登录状态,使得之前的登录状态失效。

2.3 单例登录的实现方式

2.3.1 基于Session的单例登录
  • 用户登录系统,服务器在Session中记录用户的登录状态,并生成Session ID。
  • 用户访问系统时,服务器检查Session ID是否有效。
  • 用户在另一个地方登录,服务器生成新的Session ID,并更新用户的登录状态。
  • 之前的Session ID失效,用户在之前的地方访问系统时会被要求重新登录。
2.3.2 基于Token的单例登录
  • 用户登录系统,服务器生成Token,并在数据库中记录用户的登录状态。
  • 用户访问系统时,服务器检查Token是否有效。
  • 用户在另一个地方登录,服务器生成新的Token,并更新数据库中的登录状态。
  • 之前的Token失效,用户在之前的地方访问系统时会被要求重新登录。

2.4 单例登录的优缺点

优点
  • 提高安全性:防止同一账户在多个地方同时登录,减少账户被盗用的风险。
  • 简化管理:确保用户的唯一登录状态,便于系统管理。
缺点
  • 用户体验差:用户在不同地方登录时需要频繁重新登录。
  • 实现复杂:需要在服务器端维护和更新用户的登录状态。

3. 单点登录与单例登录的比较

特性 单点登录(SSO) 单例登录(Single Login)
定义 一个账户登录多个系统 同一用户在同一时间只能在一个地方登录
工作原理 通过中央认证服务器进行用户认证 维护用户的唯一登录状态
实现方式 基于Cookie、Token等 基于Session、Token等
优点 用户体验好,安全性高,易于管理 提高安全性,简化管理
缺点 实现复杂,单点故障 用户体验差,实现复杂
应用场景 多系统集成,统一认证管理 提高账户安全性,防止账户被盗用

网站公告

今日签到

点亮在社区的每一天
去签到