文章目录
单点登录
单点登录的3种模式
SSO模式一 共享Cookie同步会话
解决会话不能共享的方法
1、使用 共享Cookie 来解决 Token 共享问题。
2、使用 Redis 来解决 Session 共享问题。
java
127.0.0.1 sso.stp.com
127.0.0.1 s1.stp.com
127.0.0.1 s2.stp.com
127.0.0.1 s3.stp.com
过程:
2、当在单点登录的页面输入sa/123456发起ajax登录请求,登录成功后,就会得到set-cookie的头,然后再刷新当前页面请求http://sso.stp.com:9000/sso/auth?mode=simple&client=sso-client1&redirect=http%3A%2F%2Fs1.stp.com%3A9001%2F,由于此时登录了(通过携带cookie),此时服务端返回302就让客户端重定向到redirect指向的地址http://s1.stp.com:9001/
3、客户端重定向到redirect指向的地址后,由于之前单点登录页面写的cookie与当前应用的页面在同1个主域名下,所以会携带此cookie,并且又由于后台共享redis,所以就能拿到用户信息了
4、其它应用点击登录http://sso.stp.com:9000/sso/auth?mode=simple&client=sso-client1&redirect=http%3A%2F%2Fs2.stp.com%3A9001%2F",就会携带单点登录成功所写入的cookie,因此也会走第2步中的服务端返回302让客户端重定向到redirect指向的地址http://s2.stp.com:9001/,然后同样走第3步,携带此cookie,又由于后台共享redis,所以就能拿到用户信息了