什么是单点登录系统 (Single Sign On)?
在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
1. 单点登录系统(SSO):
a)创建单点登录系统,独立的工程
b)发布登录和注册接口
c)本公司的一个系统中,只调用一个登录页面
实现系统登录和注册的功能。
传统的登录流程:
在传统的登录中所出现的问题:
a)在集群环境中,需要把同一套代码部署到多台服务器中,每个工程独有自己独立的session。
如果把用户信息写入session中而不共享的话,就会出现用户反复登录的情况。
解决方案:
第一种方案:可以配置tomcat的session共享,配置tomcat集群。集群配置好之后,会不停的向其他的tomcat广播自己的session信息,其他的tomcat做session同步,可以保证所有的tomcat的session中的内容是一致的。
缺点: (a.)tomcat 是全局session复制,集群内每个tomcat的session完全同步(也就是任何时候都完全一样的) 在大规模应用的时候,用户过多,集群内tomcat数量过多,session的全局复制会导致集群性能下降, 因此,tomcat的数量不能太多,5个以下为好。
(b.)不能解决分布式工程的session共享问题。