一个支持Cookie、Token的分布式单点登录框架—XXL-SSO

一个支持Cookie、Token的分布式单点登录框架—XXL-SSO

2022-09-02 0 480
资源编号 37480 最近更新 2022-09-02
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的是一个分布式单点登录框架——XXL-SSO。

XXL-SSO 是一个分布式单点登录框架。用户只需要登录一次就可以访问所有相互信任的应用系统。至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,包括:大众点评、优信二手车、咪咕互动、浪潮软件、360金融、摩贝科技、联想、京东、恒大、网易易信、滴答出行、虎牙等500+企业,目前XXL-JOB已经完全开放源代码,开箱即用。

一个支持Cookie、Token的分布式单点登录框架—XXL-SSO

框架的主要特性:

  • API简洁直观,易上手
  • 对环境的依赖较小,部署与接入成本低
  • 支持分布式部署
  • Server端与Client端均支持集群部署
  • 支持跨域应用接入SSO认证中心
  • 支持基于Cookie和基于Token两种接入方式
  • 支持Web和APP接入
  • 系统登陆、注销状态,全部Server与Client端实时共享

架构图:

一个支持Cookie、Token的分布式单点登录框架—XXL-SSO

快速入门(Cookie示例):

1、源码编译

- xxl-sso-server:中央认证服务,支持集群- xxl-sso-core:Client端依赖- xxl-sso-samples:单点登陆Client端接入示例项目- xxl-sso-web-sample-springboot:基于Cookie接入方式,供用户浏览器访问,springboot版本- xxl-sso-token-sample-springboot:基于Token接入方式,常用于无法使用Cookie的场景使用,如APP、Cookie被禁用等,springboot版本

2、部署 “认证中心(SSO Server)”

项目名:xxl-sso-server

配置说明

配置文件位置:application.properties

// redis 地址: 如 "{ip}"、"{ip}:{port}"、"{redis/rediss}://xxl-sso:{password}@{ip}:{port:6379}/{db}";多地址逗号分隔xxl.sso.redis.address=redis://127.0.0.1:6379// 登录态有效期窗口,默认24H,当登录态有效期窗口过半时,自动顺延一个周期xxl.sso.redis.expire.minute=1440

3、部署 “单点登陆Client端接入示例项目”

项目名:xxl-sso-web-sample-springboot

maven依赖

<dependency>    <groupId>com.xuxueli</groupId>    <artifactId>xxl-sso-core</artifactId>    <version>${最新稳定版}</version></dependency>

配置 XxlSsoFilter

参考代码:com.xxl.sso.sample.config.XxlSsoConfig

@Beanpublic FilterRegistrationBean xxlSsoFilterRegistration() {    // xxl-sso, redis init    JedisUtil.init(xxlSsoRedisAddress);    // xxl-sso, filter init    FilterRegistrationBean registration = new FilterRegistrationBean();    registration.setName("XxlSsoWebFilter");    registration.setOrder(1);    registration.addUrlPatterns("/*");    registration.setFilter(new XxlSsoWebFilter());    registration.addInitParameter(Conf.SSO_SERVER, xxlSsoServer);    registration.addInitParameter(Conf.SSO_LOGOUT_PATH, xxlSsoLogoutPath);    return registration;}

配置说明

配置文件位置:application.properties

### xxl-sso     (CLient端SSO配置)##### SSO Server认证中心地址(推荐以域名方式配置认证中心,本机可参考章节"2.5"修改host文件配置域名指向)xxl.sso.server=http://xxlssoserver.com:8080/xxl-sso-server##### 注销登陆path,值为Client端应用的相对路径xxl.sso.logout.path=/logout##### 路径排除Path,允许设置多个,且支持Ant表达式。用于排除SSO客户端不需要过滤的路径xxl-sso.excluded.paths=### redis   // redis address, like "{ip}""{ip}:{port}""{redis/rediss}://xxl-sso:{password}@{ip}:{port:6379}/{db}";Multiple "," separatedxxl.sso.redis.address=redis://xxl-sso:password@127.0.0.1:6379/0  

4、验证

修改Host文件:域名方式访问认证中心,模拟跨域与线上真实环境

### 在host文件中添加以下内容127.0.0.1 xxlssoserver.com127.0.0.1 xxlssoclient1.com127.0.0.1 xxlssoclient2.com

分别运行 “xxl-sso-server” 与 “xxl-sso-web-sample-springboot”

分别运行 “xxl-sso-server” 与 “xxl-sso-web-sample-springboot”1、SSO认证中心地址:http://xxlssoserver.com:8080/xxl-sso-server2、Client01应用地址:http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot/3、Client02应用地址:http://xxlssoclient2.com:8081/xxl-sso-web-sample-springboot/

SSO登录/注销流程验证

正常情况下,登录流程如下:1、访问 "Client01应用地址" ,将会自动 redirect 到 "SSO认证中心地址" 登录界面2、成功登录后,将会自动 redirect 返回到 "Client01应用地址",并切换为已登录状态3、此时,访问 "Client02应用地址",不需登陆将会自动切换为已登录状态正常情况下,注销流程如下:1、访问 "Client01应用地址" 配置的 "注销登陆path",将会自动 redirect 到 "SSO认证中心地址" 并自动注销登陆状态2、此时,访问 "Client02应用地址",也将会自动注销登陆状态

更多内容大家可自行前往阅读。

开源地址:gitee.com/xuxueli0323/xxl-sso


如需项目推荐、获取资源请私信作者

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 一个支持Cookie、Token的分布式单点登录框架—XXL-SSO https://www.7claw.com/37480.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务