java实现SSO(SingleSignOn)单点登录服务

 

单点登录SSO:是指用户通过一次登录,可以访问任意所有相互信任的应用系统。即一处登录,处处登录。比如阿里系下的淘宝、天猫等,虽然是不同的产品,但归于一个体系下,是可以相互信任的应用系统。

为了方便用户操作,避免到处注册登录。不能因为其中一台应用服务的更新,影响到其它应用服务的登录,必然需要把登录当成独立应用服务,它即是SSO-server。

用户流程:

1、访问tb/member网页

2、tb应用服务验证是否登录

3、如果没有登录,去sso认证服务中心,检查是否登录

4、如果也没有,即跳转到登录页面

5、登录成功,存储登录信息并跳转到原访问url

6、访问页面再次去sso认证服务中心,校验是否合法

7、合法,显示网页给用户。

 

 

项目使用技术springboot来构建。

sso-server:认证服务中心

 

 

tb-client:tb应用系统

tm-client:tm应用系统

 

为了方便测试跨域情况,需要配置hosts:

127.0.0.1   www.sso.com
127.0.0.1   www.tb.com
127.0.0.1   www.tm.com

 

源代码:

https://github.com/zzsong/sso.git

 

posted @ 2020-03-12 00:22  落孤秋叶  阅读(1552)  评论(0编辑  收藏  举报