Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shengzhang_
sa-token
提交
4db058cd
sa-token
项目概览
shengzhang_
/
sa-token
通知
68
Star
16
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
sa-token
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4db058cd
编写于
12月 18, 2020
作者:
shengzhang_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
⚡
v1.6.0 版本更新
上级
d776501c
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
212 addition
and
19 deletion
+212
-19
sa-token-demo-springboot/.factorypath
sa-token-demo-springboot/.factorypath
+52
-0
sa-token-demo-springboot/pom.xml
sa-token-demo-springboot/pom.xml
+14
-6
sa-token-dev/pom.xml
sa-token-dev/pom.xml
+1
-1
sa-token-dev/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java
...rc/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java
+1
-1
sa-token-doc/doc/README.md
sa-token-doc/doc/README.md
+3
-2
sa-token-doc/doc/_sidebar.md
sa-token-doc/doc/_sidebar.md
+1
-0
sa-token-doc/doc/index.css
sa-token-doc/doc/index.css
+1
-1
sa-token-doc/doc/index.html
sa-token-doc/doc/index.html
+2
-2
sa-token-doc/doc/more/update-log.md
sa-token-doc/doc/more/update-log.md
+12
-0
sa-token-doc/doc/start/download.md
sa-token-doc/doc/start/download.md
+2
-2
sa-token-doc/doc/start/example.md
sa-token-doc/doc/start/example.md
+1
-1
sa-token-doc/doc/use/config.md
sa-token-doc/doc/use/config.md
+4
-0
sa-token-doc/doc/use/token-style.md
sa-token-doc/doc/use/token-style.md
+115
-0
sa-token-doc/index.html
sa-token-doc/index.html
+3
-3
未找到文件。
sa-token-demo-springboot/.factorypath
0 → 100644
浏览文件 @
4db058cd
<factorypath>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-web/2.0.0.RELEASE/spring-boot-starter-web-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter/2.0.0.RELEASE/spring-boot-starter-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot/2.0.0.RELEASE/spring-boot-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-autoconfigure/2.0.0.RELEASE/spring-boot-autoconfigure-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-logging/2.0.0.RELEASE/spring-boot-starter-logging-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-core/5.0.4.RELEASE/spring-core-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-jcl/5.0.4.RELEASE/spring-jcl-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-json/2.0.0.RELEASE/spring-boot-starter-json-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.9.4/jackson-databind-2.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.9.4/jackson-core-2.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.4/jackson-datatype-jdk8-2.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.4/jackson-datatype-jsr310-2.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.4/jackson-module-parameter-names-2.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-tomcat/2.0.0.RELEASE/spring-boot-starter-tomcat-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-core/8.5.28/tomcat-embed-core-8.5.28.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-el/8.5.28/tomcat-embed-el-8.5.28.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.28/tomcat-embed-websocket-8.5.28.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/validator/hibernate-validator/6.0.7.Final/hibernate-validator-6.0.7.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-web/5.0.4.RELEASE/spring-web-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-beans/5.0.4.RELEASE/spring-beans-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-webmvc/5.0.4.RELEASE/spring-webmvc-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context/5.0.4.RELEASE/spring-context-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-expression/5.0.4.RELEASE/spring-expression-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-aop/2.0.0.RELEASE/spring-boot-starter-aop-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-aop/5.0.4.RELEASE/spring-aop-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/cn/dev33/sa-token/1.6.0/sa-token-1.6.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-redis/1.4.7.RELEASE/spring-boot-starter-redis-1.4.7.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-redis/2.0.5.RELEASE/spring-data-redis-2.0.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-keyvalue/2.0.5.RELEASE/spring-data-keyvalue-2.0.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-commons/2.0.5.RELEASE/spring-data-commons-2.0.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-tx/5.0.4.RELEASE/spring-tx-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-oxm/5.0.4.RELEASE/spring-oxm-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context-support/5.0.4.RELEASE/spring-context-support-5.0.4.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/redis/clients/jedis/2.9.0/jedis-2.9.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-pool2/2.5.0/commons-pool2-2.5.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-configuration-processor/2.0.0.RELEASE/spring-boot-configuration-processor-2.0.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="PLUGIN" id="net.harawata.mybatipse" enabled="false" runInBatchMode="false"/>
</factorypath>
sa-token-demo-springboot/pom.xml
浏览文件 @
4db058cd
...
...
@@ -26,18 +26,18 @@
</dependency>
<!-- 开发测试 -->
<dependency>
<
!-- <
dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dev</artifactId>
<version>
1.
5.1
</version>
</dependency>
<version>1.
6.0
</version>
</dependency>
-->
<!-- sa-token 权限认证, 在线文档:http://sa-token.dev33.cn/ -->
<
!-- <
dependency>
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token
</artifactId>
<version>1.
5.1
</version>
</dependency>
-->
<version>
1.
6.0
</version>
</dependency>
<!-- SpringBoot整合redis -->
<dependency>
...
...
@@ -52,6 +52,14 @@
<artifactId>
spring-boot-configuration-processor
</artifactId>
<optional>
true
</optional>
</dependency>
<!-- hutool工具类,用来生成雪花算法唯一id -->
<!-- <dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.4</version>
</dependency> -->
</dependencies>
...
...
sa-token-dev/pom.xml
浏览文件 @
4db058cd
...
...
@@ -7,7 +7,7 @@
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-dev
</artifactId>
<packaging>
jar
</packaging>
<version>
1.
5.1
</version>
<version>
1.
6.0
</version>
<!-- SpringBoot -->
<parent>
...
...
sa-token-dev/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java
浏览文件 @
4db058cd
...
...
@@ -13,7 +13,7 @@ public class SaTokenInsideUtil {
/**
* sa-token 版本号
*/
public
static
final
String
VERSION_NO
=
"v1.
5.1
"
;
public
static
final
String
VERSION_NO
=
"v1.
6.0
"
;
/**
* sa-token 开源地址
...
...
sa-token-doc/doc/README.md
浏览文件 @
4db058cd
<p
align=
"center"
>
<img
alt=
"logo"
src=
"https://gitee.com/sz6/sa-token/raw/master/sa-token-doc/doc/logo.png"
width=
"150"
height=
"150"
style=
"margin-bottom: 10px;"
>
</p>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.
5.1
</h1>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.
6.0
</h1>
<h4
align=
"center"
>
一个JavaWeb轻量级权限认证框架,功能全面,上手简单
</h4>
<h4
align=
"center"
>
<a
href=
"https://gitee.com/sz6/sa-token/stargazers"
><img
src=
"https://gitee.com/sz6/sa-token/badge/star.svg"
></a>
<a
href=
"https://github.com/click33/sa-token"
><img
src=
"https://img.shields.io/badge/sa--token-v1.
5.1
-2B9939"
></a>
<a
href=
"https://github.com/click33/sa-token"
><img
src=
"https://img.shields.io/badge/sa--token-v1.
6.0
-2B9939"
></a>
<a
href=
"https://github.com/click33/sa-token/stargazers"
><img
src=
"https://img.shields.io/github/stars/click33/sa-token"
></a>
<a
href=
"https://github.com/click33/sa-token/watchers"
><img
src=
"https://img.shields.io/github/watchers/click33/sa-token"
></a>
<a
href=
"https://github.com/click33/sa-token/network/members"
><img
src=
"https://img.shields.io/github/forks/click33/sa-token"
></a>
...
...
@@ -57,6 +57,7 @@ StpUtil.checkLogin();
-
⚡
**多账号认证体系**
—— 比如一个商城项目的user表和admin表分开鉴权
-
⚡
**无cookie模式**
—— APP、小程序等前后台分离场景
-
⚡
**注解式鉴权**
—— 优雅的将鉴权与业务代码分离
-
⚡
**花式token生成**
—— 内置六种token风格,还可自定义token生成策略
-
⚡
**组件自动注入**
—— 零配置与Spring等框架集成
-
⚡
**更多功能正在集成中...**
—— 如有您有好想法或者建议,欢迎加群交流
...
...
sa-token-doc/doc/_sidebar.md
浏览文件 @
4db058cd
...
...
@@ -15,6 +15,7 @@
-
[
模拟他人
](
/use/mock-person
)
-
[
多账号验证
](
/use/many-account
)
-
[
注解式鉴权
](
/use/at-check
)
-
[
花式token
](
/use/token-style
)
-
[
框架配置
](
/use/config
)
-
**其它**
...
...
sa-token-doc/doc/index.css
浏览文件 @
4db058cd
...
...
@@ -15,7 +15,7 @@
/* 背景变黑 */
.main-box
[
data-lang
]
{
padding
:
0px
!important
;
border-radius
:
10px
;
overflow
:
hidden
;}
.main-box
[
class
^=
"lang-"
]
{
/* color: red !important; */
border
:
0px
red
solid
;
padding
:
1.2em
;
background-color
:
#2
22
;
color
:
#FFF
;}
.main-box
[
class
^=
"lang-"
]
{
/* color: red !important; */
border
:
0px
red
solid
;
padding
:
1.2em
;
background-color
:
#2
82828
;
color
:
#FFF
;}
.main-box
[
class
^=
"lang-api"
]
{
color
:
#FFF
;}
...
...
sa-token-doc/doc/index.html
浏览文件 @
4db058cd
...
...
@@ -7,7 +7,7 @@
<meta
name=
"description"
content=
"Description"
>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<meta
name=
"keywords"
content=
"sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架"
>
<meta
name=
"description"
content=
"sa-token是一个JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有"
>
<meta
name=
"description"
content=
"sa-token是一个JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、
花式token、
Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有"
>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/docsify@4.11.3/lib/themes/vue.css"
>
<link
rel=
"stylesheet"
href=
"./index.css"
>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"logo.png"
>
...
...
@@ -34,7 +34,7 @@
</div>
<script>
var
name
=
'
<img style="width: 50px; height: 50px; vertical-align: middle;" src="logo.png" alt="logo" />
'
;
name
+=
'
<b style="font-size: 24px; vertical-align: middle;">sa-token</b> <sub>v1.
5.1
</sub>
'
name
+=
'
<b style="font-size: 24px; vertical-align: middle;">sa-token</b> <sub>v1.
6.0
</sub>
'
window
.
$docsify
=
{
name
:
name
,
// 名字
repo
:
'
https://github.com/click33/sa-token
'
,
// github地址
...
...
sa-token-doc/doc/more/update-log.md
浏览文件 @
4db058cd
# 更新日志
### 2020-12-17 @v1.6.0
-
新增:花式token生成方案
**[重要]**
-
优化:优化
`readme.md`
-
修复:修复
`SaCookieOper`
与
`SaTokenAction`
无法自动注入的问题
### 2020-12-16 @v1.5.1
-
新增:细化未登录异常类型,提供五种场景值:未提供token、token无效、token已过期 、token已被顶下线、token已被踢下线
**[重要]**
-
修复:修复
`StpUtil.getSessionByLoginId(String loginId)`
方法转换key出错的bug,感谢群友 @(#°Д°)、@一米阳光 发现的bug
...
...
@@ -13,6 +20,7 @@
-
优化:优化
`readme.md`
-
升级:开源协议修改为
`MIT`
### 2020-9-7 @v1.4.0
-
优化:修改一些函数、变量名称,使其更符合阿里java代码规范
-
优化:
`tokenValue`
的读取优先级改为:
`request`
>
`body`
>
`header`
>
`cookie`
...
...
@@ -21,6 +29,7 @@
-
新增:新增
`getSessionByLoginId(Object loginId, boolean isCreate)`
方法
-
修复:修复文档部分错误,修正群号码
### 2020-5-2 @v1.3.0
-
新增:新增
`StpUtil.checkLogin()`
方法,更符合语义化的鉴权方法
-
新增:注册拦截器时可设置
`StpLogic`
,方便不同模块不同鉴权方式
...
...
@@ -29,13 +38,16 @@
-
修复:修复文档部分不正确之处
-
新增:新增文档的友情链接
### 2020-3-7 @v1.2.0
-
新增:新增注解式验证,可在路由方法中使用注解进行权限验证
-
参考:
[
注解式验证
](
use/at-check
)
### 2020-2-12 @v1.1.0
-
修复:修复
`StpUtil.getLoginId(T defaultValue)`
取值转换错误的bug
### 2020-2-4 @v1.0.0
-
第一个版本出炉
-
GitHub:
[
https://github.com/click33/sa-token
](
https://github.com/click33/sa-token
)
...
...
sa-token-doc/doc/start/download.md
浏览文件 @
4db058cd
...
...
@@ -9,7 +9,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token
</artifactId>
<version>
1.
5.1
</version>
<version>
1.
6.0
</version>
</dependency>
```
...
...
@@ -29,7 +29,7 @@
## jar包下载
[
点击下载:sa-token-1.
5.1.jar
](
https://oss.dev33.cn/sa-token/sa-token-1.5.1
.jar
)
[
点击下载:sa-token-1.
6.0.jar
](
https://oss.dev33.cn/sa-token/sa-token-1.6.0
.jar
)
...
...
sa-token-doc/doc/start/example.md
浏览文件 @
4db058cd
...
...
@@ -18,7 +18,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token
</artifactId>
<version>
1.
5.1
</version>
<version>
1.
6.0
</version>
</dependency>
```
...
...
sa-token-doc/doc/use/config.md
浏览文件 @
4db058cd
...
...
@@ -12,6 +12,7 @@
| isReadBody | Boolean | true | 是否尝试从请求体里读取token |
| isReadHead | Boolean | true | 是否尝试从header里读取token |
| isReadCookie | Boolean | true | 是否尝试从cookie里读取token |
| tokenStyle | String | uuid | token风格, 参考:
[
花式token
](
/use/token-style
)
|
| isV | Boolean | true | 是否在初始化配置时打印版本字符画 |
...
...
@@ -37,6 +38,7 @@
config
.
setIsReadBody
(
true
);
// 是否尝试从请求体里读取token
config
.
setIsReadHead
(
true
);
// 是否尝试从header里读取token
config
.
setIsReadCookie
(
true
);
// 是否尝试从cookie里读取token
config
.
setTokenStyle
(
"uuid"
);
// token风格
config
.
setIsV
(
true
);
// 是否在初始化配置时打印版本字符画
return
config
;
}
...
...
@@ -62,6 +64,8 @@ spring:
is
-
read
-
head:
true
#
是否尝试从cookie里读取token
is
-
read
-
cookie:
true
#
token风格
token
-
style:
uuid
#
是否在初始化配置时打印版本字符画
is
-
v:
true
```
...
...
sa-token-doc/doc/use/token-style.md
0 → 100644
浏览文件 @
4db058cd
# 花式token
本篇介绍token生成的各种风格,以及自定义token生成策略
---
## 内置风格
-
sa-token默认的token生成策略是uuid风格, 其模样类似于:
`623368f0-ae5e-4475-a53f-93e4225f16ae`
<br>
-
如果你对这种风格不太感冒,还可以将token生成设置为其他风格,
-
怎么设置呢?只需要在yml配置文件里设置
`spring.sa-token.token-style=风格类型`
即可,其有多种取值:
<br>
1.
token-style=
`uuid`
,uuid风格
**(默认风格)**
```
html
623368f0-ae5e-4475-a53f-93e4225f16ae
```
2.
token-style=
`simple-uuid`
,同上,uuid风格, 只不过去掉了下划线:
```
html
6fd4221395024b5f87edd34bc3258ee8
```
3.
token-style=
`random-32`
,随机32位字符串:
```
html
qEjyPsEA1Bkc9dr8YP6okFr5umCZNR6W
```
4.
token-style=
`random-64`
,随机64位字符串:
```
html
v4ueNLEpPwMtmOPMBtOOeIQsvP8z9gkMgIVibTUVjkrNrlfra5CGwQkViDjO8jcc
```
5.
token-style=
`random-128`
,随机128位字符串:
```
html
nojYPmcEtrFEaN0Otpssa8I8jpk8FO53UcMZkCP9qyoHaDbKS6dxoRPky9c6QlftQ0pdzxRGXsKZmUSrPeZBOD6kJFfmfgiRyUmYWcj4WU4SSP2ilakWN1HYnIuX0Olj
```
6.
token-style=
`tik`
,tik风格:
```
html
gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__
```
## 自定义token生成策略
-
如果你觉着以上风格都不是你喜欢的类型,那么你还可以
**自定义token生成策略**
,来定制化token生成风格
<br>
-
怎么做呢?只需要重写
`SaTokenAction`
接口的
`createToken`
方法即可
#### 参考步骤如下:
1.
新建文件
`MySaTokenAction.java`
,继承
`SaTokenActionDefaultImpl`
默认实现类, 并添加上注解
`@Component`
,保证此类被
`springboot`
扫描到
```
java
package
com.pj.satoken
;
import
org.springframework.stereotype.Component
;
import
cn.dev33.satoken.action.SaTokenActionDefaultImpl
;
/**
* 继承sa-token行为Bean默认实现, 重写部分逻辑
*/
@Component
public
class
MySaTokenAction
extends
SaTokenActionDefaultImpl
{
// 重写token生成策略
@Override
public
String
createToken
(
Object
loginId
,
String
loginKey
)
{
return
SaTokenInsideUtil
.
getRandomString
(
60
);
// 随机60位字符串
}
}
```
2.
再次调用
`StpUtil.setLoginId(10001)`
方法进行登录,观察其生成的token样式
```
html
gfuPSwZsnUhwgz08GTCH4wOgasWtc3odP4HLwXJ7NDGOximTvT4OlW19zeLH
```
## 以雪花算法生成token
在此再举一个例子,以
`自定义token生成策略`
的方式集成
`雪花算法`
来生成token
1.
首先我们需要找一个合适的类库,帮助我们生成雪花算法唯一id,在此推荐
[
Hutool
](
https://hutool.cn/docs/#/
)
,在
`pom.xml`
里添加依赖:
```
xml
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.5.4
</version>
</dependency>
```
2.
同上,我们需要新建文件
`MySaTokenAction.java`
,继承
`SaTokenActionDefaultImpl`
默认实现类, 并添加上注解
`@Component`
,保证此类被
`springboot`
扫描到
```
java
package
com.pj.satoken
;
import
org.springframework.stereotype.Component
;
import
cn.dev33.satoken.action.SaTokenActionDefaultImpl
;
import
cn.hutool.core.util.IdUtil
;
/**
* 继承sa-token行为Bean默认实现, 重写部分逻辑
*/
@Component
public
class
MySaTokenAction
extends
SaTokenActionDefaultImpl
{
// 重写token生成策略
@Override
public
String
createToken
(
Object
loginId
,
String
loginKey
)
{
return
IdUtil
.
getSnowflake
(
1
,
1
).
nextIdStr
();
// 以雪花算法生成token
}
}
```
3.
再次调用
`StpUtil.setLoginId(10001)`
方法进行登录,观察其生成的token样式:
```
html
1339604338175250432
```
\ No newline at end of file
sa-token-doc/index.html
浏览文件 @
4db058cd
...
...
@@ -7,7 +7,7 @@
<meta
name=
"description"
content=
"Description"
>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<meta
name=
"keywords"
content=
"sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架"
>
<meta
name=
"description"
content=
"sa-token是一个JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有"
>
<meta
name=
"description"
content=
"sa-token是一个JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、
花式token、
Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有"
>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/docsify@4.11.3/lib/themes/vue.css"
>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"doc/logo.png"
>
<link
rel=
"stylesheet"
href=
"index.css"
>
...
...
@@ -43,10 +43,10 @@
<!-- 内容部分 -->
<div
class=
"main-box"
>
<div
class=
"content-box"
>
<h1>
sa-token
<small>
v1.
5.1
</small></h1>
<h1>
sa-token
<small>
v1.
6.0
</small></h1>
<div
class=
"sub-title"
>
一个JavaWeb轻量级权限认证框架,功能全面,上手简单
</div>
<!-- <p>0配置开箱即用,低学习成本</p> -->
<p>
登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...
</p>
<p>
登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、
花式token、
Spring集成...
</p>
<p>
零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有
</p>
<div
class=
"btn-box"
>
<a
href=
"https://github.com/click33/sa-token"
target=
"_blank"
>
GitHub
</a>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录