使用xxl_sso实现单点登录
一、实现思路
1、客户端1在访问时会查看本地浏览器是否有cookie缓存,如果没有则将该客户端的链接URL参数传递到登录服务
2、在登录服务中通过过滤器获取该服务中是否存在该项目的cookie缓存,如果有则直接将cookie根据客户端1的回调链接进行重定向返回,并写入客户端1的本地浏览器缓存中。如果不存在则进行登录,并生产cookie信息存在登录服务中并将该cookie信息随着客户端1的回调地址传递到客户端1服务中
3、客户端1获取到登录服务中的cookie信息后,会根据cookie去redis中验证是否存在,若存在则将该cookie信息存入到客户端1的浏览器中。
二、进入xxl官网
https://www.xuxueli.com/page/projects.html,下载XXL-SSO|分布式单点登录框架
SSO框架官方文档:https://www.xuxueli.com/xxl-sso/
三、更改数据
1.更改host文件
Host文件地址:C:\Windows\System32\drivers\etc
127.0.0.1 xxlssoserver.com 127.0.0.1 xxlssoclient1.com 127.0.0.1 xxlssoclient2.com
将xxl-sso-web-sample-springboot xxl-sso-core xxl-sso-server对应的redis配置文件进行更改为真实的连接地址2.更改xxl-sso-server的redis配置文件
3.更改验证用户的数据
即更改xxl-sso-server中的userServiceImpl文件对应代码
4.更改cookie生成方式
默认是使用用户id进行生成,该用法存在cookie可能重复的bug
四、注意事项
1.注释devtools依赖jar包
注释掉xxl-sso-server服务中的devtools依赖jar包,不然会在项目发送改变时他会帮我们自动重启,容易产生报错
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>provided</scope> <optional>true</optional> </dependency>
2.JedisUtil工具类优化
JedisUtil工具类中的配置也可以进行修改成配置文件的形式,里面代码可以进行优化
3.解决maven-gpg-plugin和maven-javadoc-plugin不能进行下载
可以添加以下依赖在中央仓库进行下载
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <type>maven-plugin</type> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.2.0</version> </dependency>
Xxl-sso-server 五、需启动服务
xxl-sso-web-sample-springboot
在idea中同时启用多个不同端口的项目时需设置share
如果对以上xxl-sso框架有什么疑问的欢迎留言探讨,转载请说明出处,本人博客地址:https://www.cnblogs.com/chenyuanbo/