Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shengzhang_
sa-token
提交
ba640295
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 搜索 >>
提交
ba640295
编写于
1月 12, 2021
作者:
shengzhang_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v1.12.0 版本更新
上级
1ce7b945
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
63 addition
and
41 deletion
+63
-41
README.md
README.md
+3
-2
pom.xml
pom.xml
+1
-1
sa-token-core/pom.xml
sa-token-core/pom.xml
+1
-1
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
...ken-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
+10
-5
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
...oken-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
+4
-2
sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
...re/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
+1
-1
sa-token-dao-redis-jackson/pom.xml
sa-token-dao-redis-jackson/pom.xml
+2
-2
sa-token-dao-redis/pom.xml
sa-token-dao-redis/pom.xml
+2
-2
sa-token-demo-jwt/pom.xml
sa-token-demo-jwt/pom.xml
+4
-4
sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
...-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
+1
-1
sa-token-demo-springboot/pom.xml
sa-token-demo-springboot/pom.xml
+4
-4
sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java
...ringboot/src/main/java/com/pj/SaTokenDemoApplication.java
+0
-1
sa-token-doc/doc/README.md
sa-token-doc/doc/README.md
+3
-2
sa-token-doc/doc/index.html
sa-token-doc/doc/index.html
+2
-1
sa-token-doc/doc/more/update-log.md
sa-token-doc/doc/more/update-log.md
+8
-0
sa-token-doc/doc/start/download.md
sa-token-doc/doc/start/download.md
+6
-1
sa-token-doc/doc/start/example.md
sa-token-doc/doc/start/example.md
+1
-1
sa-token-doc/doc/use/at-check.md
sa-token-doc/doc/use/at-check.md
+1
-1
sa-token-doc/doc/use/dao-extend.md
sa-token-doc/doc/use/dao-extend.md
+2
-2
sa-token-doc/index.html
sa-token-doc/index.html
+1
-1
sa-token-spring-aop/pom.xml
sa-token-spring-aop/pom.xml
+2
-2
sa-token-spring-boot-starter/pom.xml
sa-token-spring-boot-starter/pom.xml
+2
-2
sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java
...java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java
+2
-2
未找到文件。
README.md
浏览文件 @
ba640295
<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.1
1
.0
</h1>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.1
2
.0
</h1>
<h4
align=
"center"
>
这可能是史上功能最全的Java权限认证框架!
</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.1
1
.0-2B9939"
></a>
<a
href=
"https://github.com/click33/sa-token"
><img
src=
"https://img.shields.io/badge/sa--token-v1.1
2
.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>
...
...
@@ -71,6 +71,7 @@ StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session
StpUtil
.
getTokenValueByLoginId
(
10001
);
// 获取账号id为10001的token令牌值
StpUtil
.
setLoginId
(
10001
,
"PC"
);
// 指定设备标识登录
StpUtil
.
logoutByLoginId
(
10001
,
"PC"
);
// 指定设备标识进行强制注销 (不同端不受影响)
StpUtil
.
switchTo
(
10044
);
// 将当前会话身份临时切换为其它账号
```
sa-token的API众多,请恕此处无法为您逐一展示,更多示例请戳官方在线文档
...
...
pom.xml
浏览文件 @
ba640295
...
...
@@ -8,7 +8,7 @@
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<packaging>
pom
</packaging>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
<!-- 项目介绍 -->
<name>
sa-token
</name>
...
...
sa-token-core/pom.xml
浏览文件 @
ba640295
...
...
@@ -7,7 +7,7 @@
<parent>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</parent>
<packaging>
jar
</packaging>
...
...
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
浏览文件 @
ba640295
...
...
@@ -95,8 +95,8 @@ public class StpLogic {
String
tokenValue
=
null
;
// 1. 尝试从request里读取
if
(
request
.
getAttribute
(
get
JustCreatedSaveKey
())
!=
null
)
{
tokenValue
=
String
.
valueOf
(
request
.
getAttribute
(
get
JustCreatedSaveKey
()));
if
(
request
.
getAttribute
(
get
KeyJustCreatedSave
())
!=
null
)
{
tokenValue
=
String
.
valueOf
(
request
.
getAttribute
(
get
KeyJustCreatedSave
()));
}
// 2. 尝试从请求体里面读取
if
(
tokenValue
==
null
&&
config
.
getIsReadBody
()
==
true
){
...
...
@@ -201,7 +201,7 @@ public class StpLogic {
// ------ 4. 持久化其它数据
dao
.
setValue
(
getKeyTokenValue
(
tokenValue
),
String
.
valueOf
(
loginId
),
config
.
getTimeout
());
// token -> uid
request
.
setAttribute
(
get
JustCreatedSaveKey
(),
tokenValue
);
// 将token保存到本次request里
request
.
setAttribute
(
get
KeyJustCreatedSave
(),
tokenValue
);
// 将token保存到本次request里
setLastActivityToNow
(
tokenValue
);
// 写入 [最后操作时间]
if
(
config
.
getIsReadCookie
()
==
true
){
// cookie注入
SaTokenManager
.
getSaTokenCookie
().
addCookie
(
SaTokenManager
.
getSaTokenServlet
().
getResponse
(),
getTokenName
(),
tokenValue
,
"/"
,
(
int
)
config
.
getTimeout
());
...
...
@@ -554,7 +554,7 @@ public class StpLogic {
if
(
tokenValue
==
null
||
Objects
.
equals
(
tokenValue
,
""
))
{
// 随机一个token送给ta
tokenValue
=
createTokenValue
(
null
);
SaTokenManager
.
getSaTokenServlet
().
getRequest
().
setAttribute
(
get
JustCreatedSaveKey
(),
tokenValue
);
SaTokenManager
.
getSaTokenServlet
().
getRequest
().
setAttribute
(
get
KeyJustCreatedSave
(),
tokenValue
);
setLastActivityToNow
(
tokenValue
);
// 写入 [最后操作时间]
if
(
getConfig
().
getIsReadCookie
()
==
true
){
// cookie注入
SaTokenManager
.
getSaTokenCookie
().
addCookie
(
SaTokenManager
.
getSaTokenServlet
().
getResponse
(),
getTokenName
(),
tokenValue
,
"/"
,
(
int
)
getConfig
().
getTimeout
());
...
...
@@ -1059,6 +1059,7 @@ public class StpLogic {
/**
* 在进行身份切换时,使用的存储key
* @return key
*/
public
String
getKeySwitch
()
{
return
SaTokenConsts
.
SWITCH_TO_SAVE_KEY
+
getLoginKey
();
...
...
@@ -1066,8 +1067,9 @@ public class StpLogic {
/**
* 如果token为本次请求新创建的,则以此字符串为key存储在当前request中
* @return key
*/
public
String
get
JustCreatedSaveKey
()
{
public
String
get
KeyJustCreatedSave
()
{
return
SaTokenConsts
.
JUST_CREATED_SAVE_KEY
+
getLoginKey
();
}
...
...
@@ -1164,6 +1166,7 @@ public class StpLogic {
/**
* 当前是否正处于[身份临时切换]中
* @return 是否正处于[身份临时切换]中
*/
public
boolean
isSwitch
()
{
return
SaTokenManager
.
getSaTokenServlet
().
getRequest
().
getAttribute
(
getKeySwitch
())
!=
null
;
...
...
@@ -1171,6 +1174,7 @@ public class StpLogic {
/**
* 返回[身份临时切换]的loginId
* @return 返回[身份临时切换]的loginId
*/
public
Object
getSwitchLoginId
()
{
return
SaTokenManager
.
getSaTokenServlet
().
getRequest
().
getAttribute
(
getKeySwitch
());
...
...
@@ -1179,6 +1183,7 @@ public class StpLogic {
/**
* 在一个代码段里方法内,临时切换身份为指定loginId
* @param loginId 指定loginId
* @param function 要执行的方法
*/
public
void
switchTo
(
Object
loginId
,
SaFunction
function
)
{
try
{
...
...
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
浏览文件 @
ba640295
...
...
@@ -506,14 +506,16 @@ public class StpUtil {
/**
* 当前是否正处于[身份临时切换]中
* @return 是否正处于[身份临时切换]中
*/
public
static
boolean
isSwitch
()
{
return
stpLogic
.
isSwitch
();
}
/**
* 在一个代码段里方法内,临时切换身份为指定loginId
* 在一个代码段里方法内,临时切换身份为指定loginId
* @param loginId 指定loginId
* @param function 要执行的方法
*/
public
static
void
switchTo
(
Object
loginId
,
SaFunction
function
)
{
stpLogic
.
switchTo
(
loginId
,
function
);
...
...
sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
浏览文件 @
ba640295
...
...
@@ -10,7 +10,7 @@ public class SaTokenConsts {
/**
* sa-token 版本号
*/
public
static
final
String
VERSION_NO
=
"v1.1
1
.0"
;
public
static
final
String
VERSION_NO
=
"v1.1
2
.0"
;
/**
* sa-token 开源地址
...
...
sa-token-dao-redis-jackson/pom.xml
浏览文件 @
ba640295
...
...
@@ -7,7 +7,7 @@
<parent>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</parent>
<packaging>
jar
</packaging>
...
...
@@ -20,7 +20,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<!-- RedisTemplate 相关操作API -->
<dependency>
...
...
sa-token-dao-redis/pom.xml
浏览文件 @
ba640295
...
...
@@ -7,7 +7,7 @@
<parent>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</parent>
<packaging>
jar
</packaging>
...
...
@@ -20,7 +20,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<!-- RedisTemplate 相关操作API -->
<dependency>
...
...
sa-token-demo-jwt/pom.xml
浏览文件 @
ba640295
...
...
@@ -29,7 +29,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<!-- jwt -->
...
...
@@ -43,14 +43,14 @@
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- sa-token整合redis (使用jackson序列化方式) -->
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- 提供redis连接池 -->
...
...
@@ -63,7 +63,7 @@
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-aop</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- @ConfigurationProperties -->
...
...
sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
浏览文件 @
ba640295
...
...
@@ -128,7 +128,7 @@ public class SaTokenJwtUtil {
SaTokenConfig
config
=
getConfig
();
// ------ 2、生成一个token
String
tokenValue
=
createTokenValue
(
loginId
);
request
.
setAttribute
(
SaTokenConsts
.
JUST_CREATED_SAVE_KEY
,
tokenValue
);
// 将token保存到本次request里
request
.
setAttribute
(
getKeyJustCreatedSave
()
,
tokenValue
);
// 将token保存到本次request里
if
(
config
.
getIsReadCookie
()
==
true
){
// cookie注入
SaTokenManager
.
getSaTokenCookie
().
addCookie
(
SaTokenManager
.
getSaTokenServlet
().
getResponse
(),
getTokenName
(),
tokenValue
,
"/"
,
(
int
)
config
.
getTimeout
());
}
...
...
sa-token-demo-springboot/pom.xml
浏览文件 @
ba640295
...
...
@@ -29,21 +29,21 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<!-- sa-token整合redis (使用jdk默认序列化方式) -->
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- sa-token整合redis (使用jackson序列化方式) -->
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- 提供redis连接池 -->
...
...
@@ -56,7 +56,7 @@
<!-- <dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-aop</artifactId>
<version>1.1
1
.0</version>
<version>1.1
2
.0</version>
</dependency> -->
<!-- @ConfigurationProperties -->
...
...
sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java
浏览文件 @
ba640295
...
...
@@ -11,7 +11,6 @@ public class SaTokenDemoApplication {
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
SaTokenDemoApplication
.
class
,
args
);
System
.
out
.
println
(
"\n启动成功:sa-token配置如下:"
+
SaTokenManager
.
getConfig
());
}
}
\ No newline at end of file
sa-token-doc/doc/README.md
浏览文件 @
ba640295
<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.1
1
.0
</h1>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.1
2
.0
</h1>
<h4
align=
"center"
>
这可能是史上功能最全的Java权限认证框架!
</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.1
1
.0-2B9939"
></a>
<a
href=
"https://github.com/click33/sa-token"
><img
src=
"https://img.shields.io/badge/sa--token-v1.1
2
.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>
...
...
@@ -71,6 +71,7 @@ StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session
StpUtil
.
getTokenValueByLoginId
(
10001
);
// 获取账号id为10001的token令牌值
StpUtil
.
setLoginId
(
10001
,
"PC"
);
// 指定设备标识登录
StpUtil
.
logoutByLoginId
(
10001
,
"PC"
);
// 指定设备标识进行强制注销 (不同端不受影响)
StpUtil
.
switchTo
(
10044
);
// 将当前会话身份临时切换为其它账号
```
sa-token的API众多,请恕此处无法为您逐一展示,更多示例请戳官方在线文档
...
...
sa-token-doc/doc/index.html
浏览文件 @
ba640295
...
...
@@ -22,6 +22,7 @@
<nav>
<select
onchange=
"location.href=this.value"
>
<option
value=
"http://sa-token.dev33.cn/doc/index.html"
>
最新版
</option>
<option
value=
"http://sa-token.dev33.cn/v/v1.11.0/doc/index.html"
>
v1.11.0
</option>
<option
value=
"http://sa-token.dev33.cn/v/v1.10.0/doc/index.html"
>
v1.10.0
</option>
<option
value=
"http://sa-token.dev33.cn/v/v1.9.0/doc/index.html"
>
v1.9.0
</option>
<option
value=
"http://sa-token.dev33.cn/v/v1.8.0/doc/index.html"
>
v1.8.0
</option>
...
...
@@ -40,7 +41,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.1
1
.0</sub>
'
name
+=
'
<b style="font-size: 24px; vertical-align: middle;">sa-token</b> <sub>v1.1
2
.0</sub>
'
window
.
$docsify
=
{
name
:
name
,
// 名字
repo
:
'
https://github.com/click33/sa-token
'
,
// github地址
...
...
sa-token-doc/doc/more/update-log.md
浏览文件 @
ba640295
# 更新日志
### 2021-1-12 @v1.12.0
-
新增:提供JWT集成示例
**[重要]**
-
新增:新增路由式鉴权,可方便的根据路由匹配鉴权
**[重要]**
-
新增:新增身份临时切换功能,可在一个代码段内将会话临时切换为其它账号
**[重要]**
-
优化:将
`SaCheckInterceptor.java`
更名为
`SaAnnotationInterceptor.java`
,更语义化的名称
-
优化:优化文档
### 2021-1-10 @v1.11.0
-
新增:提供AOP注解鉴权方案
**[重要]**
-
优化自动生成token的算法
...
...
sa-token-doc/doc/start/download.md
浏览文件 @
ba640295
...
...
@@ -9,10 +9,15 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
```
## Gradle依赖
Gradle用户引入依赖:
```
implementation 'cn.dev33:sa-token-spring-boot-starter:1.12.0'
```
...
...
sa-token-doc/doc/start/example.md
浏览文件 @
ba640295
...
...
@@ -18,7 +18,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
```
...
...
sa-token-doc/doc/use/at-check.md
浏览文件 @
ba640295
...
...
@@ -90,7 +90,7 @@ mode有两种取值:
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-aop
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
```
...
...
sa-token-doc/doc/use/dao-extend.md
浏览文件 @
ba640295
...
...
@@ -11,7 +11,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-dao-redis
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
```
优点:兼容性好,缺点:session序列化后基本不可读,对开发者来讲等同于乱码
...
...
@@ -23,7 +23,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-dao-redis-jackson
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
```
优点:session序列化后可读性强,可灵活手动修改,缺点:兼容性稍差
...
...
sa-token-doc/index.html
浏览文件 @
ba640295
...
...
@@ -43,7 +43,7 @@
<!-- 内容部分 -->
<div
class=
"main-box"
>
<div
class=
"content-box"
>
<h1>
sa-token
<small>
v1.1
1
.0
</small></h1>
<h1>
sa-token
<small>
v1.1
2
.0
</small></h1>
<div
class=
"sub-title"
>
这可能是史上功能最全的Java权限认证框架!
</div>
<!-- <p>0配置开箱即用,低学习成本</p> -->
<p>
登录验证、权限验证、Session会话、踢人下线、集成Redis、前后台分离、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、Spring集成...
</p>
...
...
sa-token-spring-aop/pom.xml
浏览文件 @
ba640295
...
...
@@ -7,7 +7,7 @@
<parent>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</parent>
<packaging>
jar
</packaging>
...
...
@@ -20,7 +20,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<!-- spring-boot-starter-aop -->
<dependency>
...
...
sa-token-spring-boot-starter/pom.xml
浏览文件 @
ba640295
...
...
@@ -7,7 +7,7 @@
<parent>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-parent
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</parent>
<packaging>
jar
</packaging>
...
...
@@ -19,7 +19,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-core
</artifactId>
<version>
1.1
1
.0
</version>
<version>
1.1
2
.0
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaRouteInterceptor.java
浏览文件 @
ba640295
...
...
@@ -186,7 +186,7 @@ public class SaRouteInterceptor implements HandlerInterceptor {
/**
* 构建一个模式为角色认证的sa路由拦截器
* @param roles 需要验证的
数组
标识列表
* @param roles 需要验证的
角色
标识列表
* @return sa拦截器
*/
public
static
SaRouteInterceptor
createRoleVal
(
String
...
roles
)
{
...
...
@@ -195,7 +195,7 @@ public class SaRouteInterceptor implements HandlerInterceptor {
/**
* 构建一个模式为权限认证的sa路由拦截器
* @param permissions 需要验证的
数组
权限列表
* @param permissions 需要验证的权限列表
* @return sa拦截器
*/
public
static
SaRouteInterceptor
createPermissionVal
(
String
...
permissions
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录