XXL-SSO框架基础入门

Posted IT-老牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XXL-SSO框架基础入门相关的知识,希望对你有一定的参考价值。

文章目录

1.什么是XXL-SSO

XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持"等特性。现已开放源代码,开箱即用。

我们先登录XXL-SSO官网:https://www.xuxueli.com/xxl-sso/

2.特性

1、简洁:API直观简洁,可快速上手
2、轻量级:环境依赖小,部署与接入成本较低
3、单点登录:只需要登录一次就可以访问所有相互信任的应用系统
4、分布式:接入SSO认证中心的应用,支持分布式部署
5、HA:Server端与Client端,均支持集群部署,提高系统可用性
6、跨域:支持跨域应用接入SSO认证中心
7、Cookie+Token均支持:支持基于Cookie基于Token两种接入方式,并均提供Sample项目
8、Web+APP均支持:支持Web和APP接入
9、实时性:系统登陆、注销状态,全部Server与Client端实时共享
10、CS结构:基于CS结构,包括Server"认证中心"与Client"受保护应用"
11、记住密码:未记住密码时,关闭浏览器则登录态失效;记住密码时,支持登录态自动延期,在自定义延期时间的基础上,原则上可以无限延期
12、路径排除:支持自定义多个排除路径,支持Ant表达式,用于排除SSO客户端不需要过滤的路径

3. 官方Demo分析

首先我们从Github 克隆XXL-SSO的源码到本地(https://github.com/xuxueli/xxl-sso.git):

下载完源码,我们可以看到目录结构如下:

3.1 SSO Server中央认证服务

打开xxl-sso-server目录,可以看到有如下结构:

他们分别表示:

打开xxl-sso-server的配置文件,可以看到需要配置Redis地址,在这里配置好Redis地址:

启动xxl-sso-server

日志文件的位置!

可以看到启动成功:

3.2 SSO Client应用(Cookie形式)

SSO 认证中心已经配置好并打开了,下面我们来看看SSO Client端。

打开samples下的xxl-sso-web-sample-springboot项目,并配置redis路径(与认证中心的一致):

在上图可以看到xxl.sso.server对应的值为:http://xxlssoserver.com:8080/xxl-sso-server,这里用到了域名,所以要在我们本地localhost文件里配置域名

启动成功:

浏览器输入:http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot

可以看到自动跳转到了SSO 认证服务中心的登录页面了,url地址变为如下,可以看到携带了一个redirect_url,指的就是登录成功后重定向的地址:

http://xxlssoserver.com:8080/xxl-sso-server/login?redirect_url=http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot/

为了更好的验证单点登录,我们复制xxl-sso-web-sample-springboot项目命名为xxl-sso-web-sample-springboot8083,并设置端口号为8083

并在hosts文件增加配置:

启动复制的项目

好了,可以开始验证了。首先浏览器输入Client1服务地址:http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot,会自动跳转到授权中心:

点击登录,可看到登录成功,而且登录成功后的sessionid在地址栏也能看到。

接下来看看Client2是否需要再次登录,浏览器输入:http://xxlssoclient2.com:8083/xxl-sso-web-sample-springboot

可以看到Client2也登录成功了,而且sessionid与Client1的一样。

最后,我们看看浏览器的Cookie信息,观察发现他们的sessionid也是一致的:

clinent1

client2

打开Redis可视化窗口,可以看到Redis服务器有保存SessionId:

4.总结

本文主要讲解了单点登录的相关概念,已经使用xxl-sso框架来做演示。

以上是关于XXL-SSO框架基础入门的主要内容,如果未能解决你的问题,请参考以下文章

分布式单点登录框架XXL-SSO

XXL-SSO分布式单点登录框架-Cookie逻辑解析

XXL-SSO分布式单点登录框架-Cookie逻辑解析

分布式单点登录框架xxl-sso

分布式单点登录框架XXL-SSO-流程分析

分布式单点登录框架XXL-SSO-流程分析