一、基本介绍: SSO(Single Sign-On,单点登录)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
二、sso背景:
传统的登录方式:单节点模式
这是传统的登录方式,在并发量高的情况下,比如现在有 2000~3000 的并发,这时一个tomcat 不能满足业务需求,改成做多节点集群:
那么现在就会出现Session共享的问题(tomcat做集群配置session复制。如果集群中节点很多,会形成网络风暴。推荐节点数量不要超过5个)。此外在分布式架构中,我们会把系统拆分成多个子系统,在这些子系统之间进行跳转时也会出现session不能共享的问题(和上述类似)。而sso就不会出现上述问题。
三、实现方式:单点登录常见的有三种方式
1、Session广播机制(Session复制):两个不同的系统实现了session共享。
2、使用Cookie+Redis实现
3、使用token实现