概述
什么是单点登陆
单点登陆(single sign on),简称SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登陆一次就可以访问所以相互信任的应用系统。
单点登陆的实现方案
一般的单点登陆的实现方案,分为两种
中心化方式
获取token和用户登陆认证都通过认证服务器进行认证,所以是中心化的。
去中心化方式
可以看到除了获取token用到了认证服务器,登陆认证的时候都是对应的应用系统自行进行token解析、验证等操作,所以是去中心化的。
总结
- 去中心化方式:不存在单点故障,并且在访问时,可以减少网络IO所占用的时间,并且针对认证服务器没有请求压力。去中心化的方式,采用JWT实现。
- 中心化方式:存在单点故障,单台服务器的访问压力较大,每次请求认证身份都需要访问认证服务器,导致压力相对较大,效率也比较低。Shiro + CAS的方式,就是基于中心化实现的。