单点登录原理图
官方图
XXL-SSO源码测试
源码结构
不修改如上启动会报错
模拟cookie实现
1、上述修改源码后
2、在hosts文件中添加以下内容
127.0.0.1 xxlssoserver.com
127.0.0.1 xxlssoclient1.com
127.0.0.1 xxlssoclient2.com
3、启动redis
4、启动xxl-sso-server
5、启动xxl-sso-web-sample-springboot
6、浏览器
1、SSO认证中心地址:
http://xxlssoserver.com:8080/xxl-sso-server
2、Client01应用地址:
http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot/
3、Client02应用地址:
http://xxlssoclient2.com:8081/xxl-sso-web-sample-springboot/
1、2、3随便哪个地址进行登录,输入其他地址无需登录
1、2、3随便哪个地址进行退出,输入其他地址后也是退出状态
模拟token实现
1、上述修改源码后
2、在hosts文件中添加以下内容
127.0.0.1 xxlssoserver.com
127.0.0.1 xxlssoclient1.com
127.0.0.1 xxlssoclient2.com
3、启动redis
4、启动xxl-sso-server
5、启动xxl-sso-token-sample-springboot
6、postman测试
sso-server登录后客户端无需再登录
重构源码
-
思路
前端每次请求头携带cookie中的token 过滤器取出请求头中的token对比redis token
Redis+token实现授权
重构过滤器
登录、退出接口代码重构
cookie 保存token
nginx以项目名进行区分解决cookie跨域问题【存在跨域cookie无法实现共享】location /AProject { proxy_pass http://ip:8080/; } location /BProject { proxy_pass http://ip:8081/; }
-
实现【。。。】