mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 11:07:23 +08:00
完善文档,准备发版
This commit is contained in:
11
README.md
11
README.md
@@ -28,15 +28,13 @@
|
|||||||
|
|
||||||
|
|
||||||
## Sa-Token是什么?
|
## Sa-Token是什么?
|
||||||
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话 等一系列权限相关问题
|
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录 等一系列权限相关问题
|
||||||
|
|
||||||
近年来,有关权限认证的解决方案层出不穷,例如单点登录、OAuth2.0、分布式Session等等难题,无一不有着各种优秀框架大行其道
|
近年来,有关权限认证的解决方案层出不穷,例如单点登录、OAuth2.0、分布式Session等等难题,无一不有着各种优秀框架大行其道
|
||||||
|
|
||||||
然而当我们把视线放低,那些最基础的有如:登录认证、权限认证、Session会话等基础问题却一直被两大上古神兽 `Apache Shiro`、`Spring Security` 所把持
|
然而当我们把视线放低,那些最基础的有如:登录认证、权限认证、Session会话等基础问题却一直被两大上古神兽 `Apache Shiro`、`Spring Security` 所把持
|
||||||
|
|
||||||
在此并非专门diss此两大框架,诚然两大框架背景强大,历史悠久,其生态也比较齐全
|
在此并非专门diss此两大框架,诚然两大框架背景强大,历史悠久,其生态也比较齐全。但是它们毕竟已经是十几年前的产物,那是一个还在用 `jsp` 写页面的时代,两大框架的很多功能都是为jsp那一套量身定做。
|
||||||
|
|
||||||
但是它们毕竟已经是十几年前的产物,那是一个还在用 `jsp` 写页面的时代,两大框架的很多功能都是为jsp那一套量身定做。
|
|
||||||
|
|
||||||
在前后台分离已成标配的今天,两大框架的很多设计理念已经比较滞后,已经不能和我们的项目进行无缝适配,很多功能点都需要进行二次封装,甚至找一大堆扩展插件才能集成,已经逐渐不太适合现代化项目的应用
|
在前后台分离已成标配的今天,两大框架的很多设计理念已经比较滞后,已经不能和我们的项目进行无缝适配,很多功能点都需要进行二次封装,甚至找一大堆扩展插件才能集成,已经逐渐不太适合现代化项目的应用
|
||||||
|
|
||||||
@@ -48,9 +46,9 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
|||||||
## Sa-Token 优点?
|
## Sa-Token 优点?
|
||||||
|
|
||||||
sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的API调用,大量高级特性统统只需一行代码即可实现
|
sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的API调用,大量高级特性统统只需一行代码即可实现
|
||||||
- 在sa-token之前,权限认证业务概念纷飞、代码复杂,在sa-token之后,权限认证将会变成:架构清晰,逻辑简单,人人可写
|
- 在sa-token之前,权限认证业务概念纷飞、代码复杂,在sa-token之后,权限认证将会变成:逻辑清晰,架构简单,人人可写
|
||||||
- 在sa-token之前,你会在百度上频繁搜索: xx框架如何集成Redis?前后台分离下如何鉴权?踢人下线的原理是什么?在sa-token之后,你将轻松知道这一切的答案
|
- 在sa-token之前,你会在百度上频繁搜索: xx框架如何集成Redis?前后台分离下如何鉴权?踢人下线的原理是什么?在sa-token之后,你将轻松知道这一切的答案
|
||||||
- 在sa-token之前,权限认证、分布式会话、多账号体系认证,你需要找不同的框架,在sa-token之后,你只需要这一个框架就足够了
|
- 在sa-token之前,权限认证、分布式会话、单点登录、多账号认证,你需要找不同的框架,在sa-token之后,你只需要这一个框架就足够了
|
||||||
|
|
||||||
与其它权限认证框架相比,你将会从以下方面感受到 `sa-token` 的优势:
|
与其它权限认证框架相比,你将会从以下方面感受到 `sa-token` 的优势:
|
||||||
1. **简单** :可零配置启动框架,真正的开箱即用,低成本上手
|
1. **简单** :可零配置启动框架,真正的开箱即用,低成本上手
|
||||||
@@ -68,6 +66,7 @@ sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的
|
|||||||
- **踢人下线** —— 将违规用户立刻清退下线
|
- **踢人下线** —— 将违规用户立刻清退下线
|
||||||
- **持久层扩展** —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失
|
- **持久层扩展** —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失
|
||||||
- **分布式会话** —— 提供jwt集成和共享数据中心两种分布式会话方案
|
- **分布式会话** —— 提供jwt集成和共享数据中心两种分布式会话方案
|
||||||
|
- **单点登录** —— 一处登录,处处通行
|
||||||
- **模拟他人账号** —— 实时操作任意用户状态数据
|
- **模拟他人账号** —— 实时操作任意用户状态数据
|
||||||
- **临时身份切换** —— 将会话身份临时切换为其它账号
|
- **临时身份切换** —— 将会话身份临时切换为其它账号
|
||||||
- **无Cookie模式** —— APP、小程序等前后台分离场景
|
- **无Cookie模式** —— APP、小程序等前后台分离场景
|
||||||
|
@@ -17,8 +17,6 @@ spring:
|
|||||||
is-share: true
|
is-share: true
|
||||||
# token风格
|
# token风格
|
||||||
token-style: uuid
|
token-style: uuid
|
||||||
# 写入Cookie时显式指定的作用域, 用于单点登录二级域名共享Cookie的场景
|
|
||||||
# cookie-domain: stp.com
|
|
||||||
|
|
||||||
|
|
||||||
# redis配置
|
# redis配置
|
||||||
|
@@ -28,15 +28,13 @@
|
|||||||
|
|
||||||
|
|
||||||
## Sa-Token是什么?
|
## Sa-Token是什么?
|
||||||
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话 等一系列权限相关问题
|
sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录 等一系列权限相关问题
|
||||||
|
|
||||||
近年来,有关权限认证的解决方案层出不穷,例如单点登录、OAuth2.0、分布式Session等等难题,无一不有着各种优秀框架大行其道
|
近年来,有关权限认证的解决方案层出不穷,例如单点登录、OAuth2.0、分布式Session等等难题,无一不有着各种优秀框架大行其道
|
||||||
|
|
||||||
然而当我们把视线放低,那些最基础的有如:登录认证、权限认证、Session会话等基础问题却一直被两大上古神兽 `Apache Shiro`、`Spring Security` 所把持
|
然而当我们把视线放低,那些最基础的有如:登录认证、权限认证、Session会话等基础问题却一直被两大上古神兽 `Apache Shiro`、`Spring Security` 所把持
|
||||||
|
|
||||||
在此并非专门diss此两大框架,诚然两大框架背景强大,历史悠久,其生态也比较齐全
|
在此并非专门diss此两大框架,诚然两大框架背景强大,历史悠久,其生态也比较齐全。但是它们毕竟已经是十几年前的产物,那是一个还在用 `jsp` 写页面的时代,两大框架的很多功能都是为jsp那一套量身定做。
|
||||||
|
|
||||||
但是它们毕竟已经是十几年前的产物,那是一个还在用 `jsp` 写页面的时代,两大框架的很多功能都是为jsp那一套量身定做。
|
|
||||||
|
|
||||||
在前后台分离已成标配的今天,两大框架的很多设计理念已经比较滞后,已经不能和我们的项目进行无缝适配,很多功能点都需要进行二次封装,甚至找一大堆扩展插件才能集成,已经逐渐不太适合现代化项目的应用
|
在前后台分离已成标配的今天,两大框架的很多设计理念已经比较滞后,已经不能和我们的项目进行无缝适配,很多功能点都需要进行二次封装,甚至找一大堆扩展插件才能集成,已经逐渐不太适合现代化项目的应用
|
||||||
|
|
||||||
@@ -48,9 +46,9 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
|
|||||||
## Sa-Token 优点?
|
## Sa-Token 优点?
|
||||||
|
|
||||||
sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的API调用,大量高级特性统统只需一行代码即可实现
|
sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的API调用,大量高级特性统统只需一行代码即可实现
|
||||||
- 在sa-token之前,权限认证业务概念纷飞、代码复杂,在sa-token之后,权限认证将会变成:架构清晰,人人可写
|
- 在sa-token之前,权限认证业务概念纷飞、代码复杂,在sa-token之后,权限认证将会变成:逻辑清晰,架构简单,人人可写
|
||||||
- 在sa-token之前,你会在百度上频繁搜索: xx框架如何集成Redis?前后台分离下如何鉴权?踢人下线的原理是什么?在sa-token之后,你将轻松知道这一切的答案
|
- 在sa-token之前,你会在百度上频繁搜索: xx框架如何集成Redis?前后台分离下如何鉴权?踢人下线的原理是什么?在sa-token之后,你将轻松知道这一切的答案
|
||||||
- 在sa-token之前,权限认证、分布式会话、多账号体系认证,你需要找不同的框架,在sa-token之后,你只需要这一个框架就足够了
|
- 在sa-token之前,权限认证、分布式会话、单点登录、多账号认证,你需要找不同的框架,在sa-token之后,你只需要这一个框架就足够了
|
||||||
|
|
||||||
与其它权限认证框架相比,你将会从以下方面感受到 `sa-token` 的优势:
|
与其它权限认证框架相比,你将会从以下方面感受到 `sa-token` 的优势:
|
||||||
1. **简单** :可零配置启动框架,真正的开箱即用,低成本上手
|
1. **简单** :可零配置启动框架,真正的开箱即用,低成本上手
|
||||||
@@ -68,6 +66,7 @@ sa-token架构设计精简,不引入各种复杂的概念,如丝般顺滑的
|
|||||||
- **踢人下线** —— 将违规用户立刻清退下线
|
- **踢人下线** —— 将违规用户立刻清退下线
|
||||||
- **持久层扩展** —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失
|
- **持久层扩展** —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失
|
||||||
- **分布式会话** —— 提供jwt集成和共享数据中心两种分布式会话方案
|
- **分布式会话** —— 提供jwt集成和共享数据中心两种分布式会话方案
|
||||||
|
- **单点登录** —— 一处登录,处处通行
|
||||||
- **模拟他人账号** —— 实时操作任意用户状态数据
|
- **模拟他人账号** —— 实时操作任意用户状态数据
|
||||||
- **临时身份切换** —— 将会话身份临时切换为其它账号
|
- **临时身份切换** —— 将会话身份临时切换为其它账号
|
||||||
- **无Cookie模式** —— APP、小程序等前后台分离场景
|
- **无Cookie模式** —— APP、小程序等前后台分离场景
|
||||||
|
@@ -13,7 +13,6 @@
|
|||||||
- [持久层扩展(集成Redis)](/use/dao-extend)
|
- [持久层扩展(集成Redis)](/use/dao-extend)
|
||||||
- [无Cookie模式(前后台分离)](/use/not-cookie)
|
- [无Cookie模式(前后台分离)](/use/not-cookie)
|
||||||
- [模拟他人](/use/mock-person)
|
- [模拟他人](/use/mock-person)
|
||||||
- [多账号验证](/use/many-account)
|
|
||||||
- [同端互斥登录](/use/mutex-login)
|
- [同端互斥登录](/use/mutex-login)
|
||||||
- [注解式鉴权](/use/at-check)
|
- [注解式鉴权](/use/at-check)
|
||||||
- [路由拦截式鉴权](/use/route-check)
|
- [路由拦截式鉴权](/use/route-check)
|
||||||
@@ -24,6 +23,7 @@
|
|||||||
- **进阶**
|
- **进阶**
|
||||||
- [集群、分布式](/senior/dcs)
|
- [集群、分布式](/senior/dcs)
|
||||||
- [单点登录](/senior/sso)
|
- [单点登录](/senior/sso)
|
||||||
|
- [多账号验证](/use/many-account)
|
||||||
|
|
||||||
- **其它**
|
- **其它**
|
||||||
- [常见问题](/more/common-questions)
|
- [常见问题](/more/common-questions)
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>sa-token</title>
|
<title>sa-token</title>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
<meta name="description" content="sa-token是一个java权限认证框架,功能全面,上手简单,登录验证、权限验证、Session会话、踢人下线、集成Redis、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
<meta name="description" content="sa-token是一个java权限认证框架,功能全面,上手简单,登录验证、权限验证、Session会话、踢人下线、集成Redis、分布式会话、单点登录、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
||||||
<meta name="keywords" content="sa-token,sa-token框架,sa-token文档,java权限认证">
|
<meta name="keywords" content="sa-token,sa-token框架,sa-token文档,java权限认证">
|
||||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="logo.png">
|
<link rel="shortcut icon" type="image/x-icon" href="logo.png">
|
||||||
|
@@ -20,10 +20,10 @@ Sa-token 在集群、分布式下的解决方案
|
|||||||
该如何选择一个合适的方案?
|
该如何选择一个合适的方案?
|
||||||
- 方案一:性能消耗太大,不太考虑
|
- 方案一:性能消耗太大,不太考虑
|
||||||
- 方案二:需要从网关处动手,与框架无关
|
- 方案二:需要从网关处动手,与框架无关
|
||||||
- 方案三:sa-token整合`Redis`非常简单,详见章节[持久层扩展](use/dao-extend)
|
- 方案三:`sa-token`整合`Redis`非常简单,详见章节: [持久层扩展](use/dao-extend)
|
||||||
- 方案四:详见官方仓库中sa-token整合jwt的示例
|
- 方案四:详见官方仓库中`sa-token`整合`jwt`的示例
|
||||||
|
|
||||||
由于jwt模式不在服务端存储数据,对于比较复杂的业务可能会功能受限,因此更加推荐使用方案三
|
由于`jwt`模式不在服务端存储数据,对于比较复杂的业务可能会功能受限,因此更加推荐使用方案三
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# 持久层扩展
|
# 持久层扩展
|
||||||
---
|
---
|
||||||
|
|
||||||
sa-token默认将会话数据保存在内存中,此模式读写速度最快,且避免了序列化与反序列化带来的性能消耗,但是此模式也有一些缺点,比如:重启后数据会丢失,无法在集群模式下共享数据
|
Sa-token默认将会话数据保存在内存中,此模式读写速度最快,且避免了序列化与反序列化带来的性能消耗,但是此模式也有一些缺点,比如:重启后数据会丢失,无法在集群模式下共享数据
|
||||||
|
|
||||||
为此,sa-token将数据持久操作全部抽象到 `SaTokenDao` 接口中,此设计可以保证开发者对框架进行灵活扩展,比如我们可以将会话数据存储在 `Redis`、`Memcached`等专业的缓存中间件中,做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性
|
为此,sa-token将数据持久操作全部抽象到 `SaTokenDao` 接口中,此设计可以保证开发者对框架进行灵活扩展,比如我们可以将会话数据存储在 `Redis`、`Memcached`等专业的缓存中间件中,做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>sa-token</title>
|
<title>sa-token</title>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
<meta name="description" content="sa-token是一个java权限认证框架,功能全面,上手简单,登录验证、权限验证、Session会话、踢人下线、集成Redis、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
<meta name="description" content="sa-token是一个java权限认证框架,功能全面,上手简单,登录验证、权限验证、Session会话、踢人下线、集成Redis、分布式会话、单点登录、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
||||||
<meta name="keywords" content="sa-token,sa-token框架,sa-token文档,java权限认证">
|
<meta name="keywords" content="sa-token,sa-token框架,sa-token文档,java权限认证">
|
||||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="doc/logo.png">
|
<link rel="shortcut icon" type="image/x-icon" href="doc/logo.png">
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<h1>sa-token<small>v1.12.1</small></h1>
|
<h1>sa-token<small>v1.12.1</small></h1>
|
||||||
<div class="sub-title">这可能是史上功能最全的java权限认证框架!</div>
|
<div class="sub-title">这可能是史上功能最全的java权限认证框架!</div>
|
||||||
<!-- <p>0配置开箱即用,低学习成本</p> -->
|
<!-- <p>0配置开箱即用,低学习成本</p> -->
|
||||||
<p>登录验证、权限验证、Session会话、踢人下线、集成Redis、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...</p>
|
<p>登录验证、权限验证、Session会话、踢人下线、集成Redis、分布式会话、单点登录、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...</p>
|
||||||
<p>零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有</p>
|
<p>零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有</p>
|
||||||
<div class="btn-box">
|
<div class="btn-box">
|
||||||
<a href="https://github.com/click33/sa-token" target="_blank">GitHub</a>
|
<a href="https://github.com/click33/sa-token" target="_blank">GitHub</a>
|
||||||
|
Reference in New Issue
Block a user