使用xxl_sso实现单点登录

一、实现思路

1、客户端1在访问时会查看本地浏览器是否有cookie缓存,如果没有则将该客户端的链接URL参数传递到登录服务

2、在登录服务中通过过滤器获取该服务中是否存在该项目的cookie缓存,如果有则直接将cookie根据客户端1的回调链接进行重定向返回,并写入客户端1的本地浏览器缓存中。如果不存在则进行登录,并生产cookie信息存在登录服务中并将该cookie信息随着客户端1的回调地址传递到客户端1服务中

3、客户端1获取到登录服务中的cookie信息后,会根据cookieredis中验证是否存在,若存在则将该cookie信息存入到客户端1的浏览器中。

二、进入xxl官网

https://www.xuxueli.com/page/projects.html下载XXL-SSO|分布式单点登录框架

 

SSO框架官方文档:https://www.xuxueli.com/xxl-sso/

三、更改数据

1.更改host文件

Host文件地址:C:WindowsSystem32driversetc

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-serverredis配置文件

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-pluginmaven-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/

原文地址:https://www.cnblogs.com/chenyuanbo/p/12687550.html