当前位置: 首页 > article >正文

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

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等
优点用户体验好,安全性高,易于管理提高安全性,简化管理
缺点实现复杂,单点故障用户体验差,实现复杂
应用场景多系统集成,统一认证管理提高账户安全性,防止账户被盗用

http://www.kler.cn/a/551574.html

相关文章:

  • 北京海百川科技有限公司:以智能体技术助力特殊教育行业
  • 当机器人遇见艺术:春晚机器人舞蹈,一场科技与艺术的完美邂逅
  • 知识篇 | DeepSeek企业部署模式主要有6种
  • C语言之函数封装技巧
  • 无人设备遥控器之视频回传篇
  • Cursor历史记录导出完整指南
  • blender笔记2
  • kafka消费能力压测:使用官方工具
  • Effective Objective-C 2.0 读书笔记——大中枢派发
  • 火锅店点餐系统的设计与实现(ssm论文源码调试讲解)
  • 2.18日学习总结
  • Redis 监视器:深入解析与实战指南
  • resnet与yolo
  • 算法【贪心经典题目专题3】
  • 配置Api自动生成
  • 微信小程序通过http通信控制庐山派
  • 分治-归并排序
  • 鸿蒙开发环境准备DevEco Studio下载安装配置
  • 如何使用动画和日期差值来切换和展示任务-计划时钟(微信小程序)
  • C++ 设计模式-责任链模式