XXL-SSO v2.0.0发布,单点登录框架是何高招?

摘要:Release Notes 1、【升级】项目升级 SpringBoot3 + JDK17; 2、【升级】升级多项依赖至较新版本,如jakarta、spring等,适配JDK17; 项目接入示例 XXL-SSO 作为单点登录
Release Notes 1、【升级】项目升级 SpringBoot3 + JDK17; 2、【升级】升级多项依赖至较新版本,如jakarta、spring等,适配JDK17; 项目接入示例 XXL-SSO 作为单点登录框架,支持业务渐进式集成接入使用。结合系统及业务特征差异,仓库代码提供三种业务中接入示例: 1、Web常规登录:适用于常规“单体系统”场景;限制相关Web系统部署在相同域名下,登录凭证存储在公共域名下; 2、Native登录:适用于“移动端、小程序、前后端分离、客户端”等系统场景;适用于无Cookie场景,天然不受限域名。支持多端登录、以及登录态共享,但是登录凭证需要客户端管理维护; 3、CAS单点登录:适用于“多系统跨域、企业多系统统一登录”等系统场景;解决了系统 跨域登录认证、统一登录认证 问题;但是需要单独部署CAS认证中心、提供单点登录相关基础能力; 此处以 “Web常规登录” 为例进行讲解: (**三种登录方式完整接入示例参考项目文档,如有需求可前往查看* *) 第一步:添加maven依赖以及 XXL-SSO 配置文件 ### xxl-sso 登录凭证/token传输key, 用于cookie、header登录凭证传输; xxl-sso.token.key=xxl_sso_token ### xxl-sso 登录凭证/token超时时间,单位毫秒; xxl-sso.token.timeout=604800000 ### xxl-sso 登录态持久化配置,如下为Redis组件相关配置; xxl-sso.store.redis.nodes=127.0.0.1:6379 xxl-sso.store.redis.user= xxl-sso.store.redis.password= ### xxl-sso 登录态存储,Redis key前缀 xxl-sso.store.redis.keyprefix=xxl_sso_user: ### xxl-sso 客户端过滤排除路径,如 "/excluded/xpath"?"/excluded/xpath,/excluded/*" xxl-sso.client.excluded.paths=/weblogin/*,/static/** ### xxl-sso 客户端登录页路径 xxl.sso.client.login.path=/weblogin/login 第二部:配置 XXL-SSO 组件 配置组件代码参考:xxl-sso-sample-web/src/main/java/com/xxl/sso/sample/config/XxlSsoConfig 第三部:代码中接入使用 接入 XXL-SSO 之后,业务可通过 注解 or API 进行 登录验证、权限验证。一行注解/代码即可实现 登录认证、权限认证、角色认证 等,接入灵活方便; 注解方式: // a、限制需要登录(默认设置,等同于不配置注解),但是不针对权限、或角色进行校验; @XxlSso @RequestMapping("/test") @ResponseBody public Response<String> test() { ... } // b、不需要登录 @XxlSso(login = false) // c、限制需要登录;限制需要拥有指定注解 @XxlSso(permission = "user:add") // d、限制需要登录;限制需要拥有指定角色 @XxlSso(role = "admin") API方式: // a、登录操作:登录并获取登录凭证(token)。
阅读全文