目录
SSO单点登录(一)理论知识总结
SSO单点登录(二)基于redis的服务端
SSO单点登录(三)基于session的服务端
SSO单点登录(四)客户端的设计与实现
SSO单点登录(五)服务端集成dubbo版本
持续更新中…
1. 概念
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
2. 基本逻辑图
3. SSO客户端和服务端要实现的功能
sso-client
- 拦截子系统未登录用户请求,跳转至sso认证中心
- 接收并存储sso认证中心发送的令牌
- 与sso-server通信,校验令牌的有效性
- 建立局部会话
- 拦截用户注销请求,向sso认证中心发送注销请求
- 接收sso认证中心发出的注销请求,销毁局部会话
sso-server
- 验证用户的登录信息
- 创建全局会话
- 创建授权令牌
- 与sso-client通信发送令牌
- 校验sso-client令牌有效性
- 系统注册
- 接收sso-client注销请求,注销所有会话
4. 目标系统拦截器改造
- 局部标签标记:只需要第一次登录的时候请求统一登录平台校验token即可,后面请求都使用目标系统的局部标签校验
- 添加用户session信息:每个系统对于取用户session信息的方式不同,这个逻辑,各系统可定制化改造(逻辑设计的时候,可以作为一个变量参数,代码主体结构不需要改动)