功能定位
XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie+Token均支持、Web+APP均支持"等特性,开箱即用。
核心概念
登录流程剖析
- 用户于Client端应用访问受限资源时,将会自动 redirect 到 SSO Server 进入统一登录界面
- 用户登录成功之后将会为用户分配 SSO SessionId 并 redirect 返回来源Client端应用,同时附带分配的 SSO SessionId
- 在Client端的SSO Filter里验证 SSO SessionId 无误,将 SSO SessionId 写入到用户浏览器Client端域名下 cookie 中
- SSO Filter验证 SSO SessionId 通过,受限资源请求放行
功能特性
- 简洁:API直观简洁,可快速上手
- 轻量级:环境依赖小,部署与接入成本较低
- 单点登录:只需要登录一次就可以访问所有相互信任的应用系统
- 分布式:接入SSO认证中心的应用,支持分布式部署
- HA:Server端与Client端,均支持集群部署,提高系统可用性
- 跨域:支持跨域应用接入SSO认证中心
- Cookie+Token均支持:支持基于Cookie和基于Token两种接入方式,并均提供Sample项目
- Web+APP均支持:支持Web和APP接入
- 实时性:系统登陆、注销状态,全部Server与Client端实时共享
- CS结构:基于CS结构,包括Server"认证中心"与Client"受保护应用"
- 记住密码:未记住密码时,关闭浏览器则登录态失效;记住密码时,支持登录态自动延期,在自定义延期时间的基础上,原则上可以无限延期
- 路径排除:支持自定义多个排除路径,支持Ant表达式。用于排除SSO客户端不需要过滤的路径
架构图
项目地址:https://github.com/foryxs/xxl-sso
喜欢的小伙伴,点个关注吧,每天分享新的内容!
閱讀更多 程序界小哥 的文章