XXL-SSO如何实现登录认证及权限管控的深度应用?

摘要:本文指导如何使用 XXL-SSO 与实现 登录认证以及权限管控;通过实际项目(XXL-BOOT快速开发平台)集成应用,进行详细讲解。 XXL-SSO简介 XXL-SSO 是一个 单点登录框架,只需要登录一次就可以访问所有相互信任的应用系统
本文指导如何使用 XXL-SSO 与实现 登录认证以及权限管控;通过实际项目(XXL-BOOT/快速开发平台)集成应用,进行详细讲解。 XXL-SSO简介 XXL-SSO 是一个 单点登录框架,只需要登录一次就可以访问所有相互信任的应用系统。具备 “轻量级、高扩展、渐进式” 的等特性,支持 “登录认证、权限认证、角色认证、分布式会话认证、单点登录、Web常规登录、前后端分离” 等多登录及认证类型,现已开放源代码,开箱即用。 中文文档:https://www.xuxueli.com/xxl-sso/ Github:https://github.com/xuxueli/xxl-sso XXL-BOOT简介 XXL-BOOT 是一个快速开发平台,易学易用、灵活扩展、开箱即用。内置安全登录、权限管控、端到端代码生成、响应式布局、多语言、通告触达……等能力。整合前后端流行技术,致力为 中小企业、个人开发者 打造开箱即用的中后台解决方案。 中文文档:https://www.xuxueli.com/xxl-boot/ Github:https://github.com/xuxueli/xxl-boot XXL-SSO集成 补充说明:XXL-SSO 是一个 “渐进式” 登录及权限认证框架,从简单到复杂场景均提供支持,包括:单体系统、前后端分离、分布式系统、单点登录等。本文以“XXL-BOOT”项目集成讲解“单体系统”如何集成使用,更复杂场景建议参考官方文档以及提供Sample集成示例。 第一步:引入maven依赖 <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-sso-core</artifactId> <version>${xxl-sso.version}</version> </dependency> 第二步: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 客户端过滤排除路径,如 "/excluded/xpath"?"/excluded/xpath,/excluded/*" xxl-sso.client.excluded.paths= ### xxl-sso 客户端登录页路径 xxl.sso.client.login.path=/auth/login 组件配置:主要进行 “拦截器注册” 以及基础框架组件初始化。 /** * 1、配置 XxlSsoBootstrap */ @Bean(initMethod = "start", destroyMethod = "stop") public XxlSsoBootstrap xxlSsoBootstrap() { XxlSsoBootstrap bootstrap = new XxlSsoBootstrap(); bootstrap.setLoginStore(loginStore); bootstrap.setTokenKey(tokenKey); bootstrap.setTokenTimeout(tokenTimeout); return bootstrap; } /** * 2、配置 XxlSso 拦截器 */ @Override public void addInterceptors(InterceptorRegistry registry) { // 2.1、build xxl-sso interceptor XxlSsoWebInterceptor webInterceptor = new XxlSsoWebInterceptor(excludedPaths, loginPath); // 2.2、add interceptor registry.addInterceptor(webInterceptor).addPathPatterns("/**"); } 第三步:登录/注销 功能集成 XXl-SSO提供丰富的登录、注销、登录态、角色/权限验证相关API。
阅读全文