Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shengzhang_
sa-token
提交
5dd02b35
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 搜索 >>
提交
5dd02b35
编写于
2月 04, 2021
作者:
shengzhang_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增`autoRenew`配置,用于控制是否打开自动续签模式
上级
b211de69
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
44 addition
and
19 deletion
+44
-19
README.md
README.md
+1
-1
sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java
.../src/main/java/cn/dev33/satoken/config/SaTokenConfig.java
+27
-1
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
...ken-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
+6
-4
sa-token-demo-springboot/pom.xml
sa-token-demo-springboot/pom.xml
+0
-5
sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java
...-springboot/src/main/java/com/pj/test/TestController.java
+1
-0
sa-token-doc/doc/README.md
sa-token-doc/doc/README.md
+6
-8
sa-token-doc/doc/fun/token-timeout.md
sa-token-doc/doc/fun/token-timeout.md
+2
-0
sa-token-doc/doc/use/config.md
sa-token-doc/doc/use/config.md
+1
-0
未找到文件。
README.md
浏览文件 @
5dd02b35
...
...
@@ -57,7 +57,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
总的来说,与其它权限认证框架相比,你将会从以下方面感受到
`sa-token`
的优势:
1.
**简单**
:可零配置启动框架,真正的开箱即用,低成本上手
2.
**强大**
:目前已集成几十项权限相关特性,涵盖了大部分业务场景的解决方案
3.
**易用**
:如丝
版
顺滑的API调用,大量高级特性统统只需一行代码即可实现
3.
**易用**
:如丝
般
顺滑的API调用,大量高级特性统统只需一行代码即可实现
4.
**高扩展**
:几乎所有组件都提供了扩展接口,90%以上的逻辑都可以按需重写
有了sa-token,你所有的权限认证问题,都不再是问题!
...
...
sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java
浏览文件 @
5dd02b35
...
...
@@ -46,9 +46,14 @@ public class SaTokenConfig {
/** 获取[token专属session]时是否必须登录 (如果配置为true,会在每次获取[token-session]时校验是否登录) */
private
Boolean
tokenSessionCheckLogin
=
true
;
/** 是否打开自动续签 (如果此值为true, 框架会在每次直接或间接调用getLoginId()时进行一次过期检查与续签操作) */
private
Boolean
autoRenew
=
true
;
/** 是否在初始化配置时打印版本字符画 */
private
Boolean
isV
=
true
;
/**
* @return token名称 (同时也是cookie名称)
*/
...
...
@@ -207,6 +212,20 @@ public class SaTokenConfig {
this
.
tokenSessionCheckLogin
=
tokenSessionCheckLogin
;
}
/**
* @return 是否打开了自动续签 (如果此值为true, 框架会在每次直接或间接调用getLoginId()时进行一次过期检查与续签操作)
*/
public
Boolean
getAutoRenew
()
{
return
autoRenew
;
}
/**
* @param autoRenew 是否打开自动续签 (如果此值为true, 框架会在每次直接或间接调用getLoginId()时进行一次过期检查与续签操作)
*/
public
void
setAutoRenew
(
Boolean
autoRenew
)
{
this
.
autoRenew
=
autoRenew
;
}
/**
* @return 是否在初始化配置时打印版本字符画
*/
...
...
@@ -221,13 +240,20 @@ public class SaTokenConfig {
this
.
isV
=
isV
;
}
/**
* toString
*/
@Override
public
String
toString
()
{
return
"SaTokenConfig [tokenName="
+
tokenName
+
", timeout="
+
timeout
+
", activityTimeout="
+
activityTimeout
+
", allowConcurrentLogin="
+
allowConcurrentLogin
+
", isShare="
+
isShare
+
", isReadBody="
+
isReadBody
+
", isReadHead="
+
isReadHead
+
", isReadCookie="
+
isReadCookie
+
", tokenStyle="
+
tokenStyle
+
", dataRefreshPeriod="
+
dataRefreshPeriod
+
", tokenSessionCheckLogin="
+
tokenSessionCheckLogin
+
", isV="
+
isV
+
"]"
;
+
tokenSessionCheckLogin
+
",
autoRenew="
+
autoRenew
+
",
isV="
+
isV
+
"]"
;
}
}
sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
浏览文件 @
5dd02b35
...
...
@@ -345,9 +345,11 @@ public class StpLogic {
if
(
loginId
.
equals
(
NotLoginException
.
KICK_OUT
))
{
throw
NotLoginException
.
newInstance
(
loginKey
,
NotLoginException
.
KICK_OUT
);
}
// 检查是否已经 [临时过期],同时更新[最后操作时间]
checkActivityTimeout
(
tokenValue
);
updateLastActivityToNow
(
tokenValue
);
// 如果配置了自动续签, 则: 检查是否已经 [临时过期],同时更新[最后操作时间]
if
(
getConfig
().
getAutoRenew
())
{
checkActivityTimeout
(
tokenValue
);
updateLastActivityToNow
(
tokenValue
);
}
// 至此,返回loginId
return
loginId
;
}
...
...
@@ -961,7 +963,7 @@ public class StpLogic {
return
null
;
}
// 如果session为null的话直接返回 null
SaSession
session
=
getSession
(
false
);
SaSession
session
=
getSession
ByLoginId
(
getLoginIdDefaultNull
(),
false
);
if
(
session
==
null
)
{
return
null
;
}
...
...
sa-token-demo-springboot/pom.xml
浏览文件 @
5dd02b35
...
...
@@ -73,11 +73,6 @@
<version>5.5.4</version>
</dependency> -->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.73
</version>
</dependency>
</dependencies>
...
...
sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java
浏览文件 @
5dd02b35
...
...
@@ -247,6 +247,7 @@ public class TestController {
public
AjaxJson
test
()
{
// StpUtil.getTokenSession().logout();
// StpUtil.logoutByLoginId(10001);
StpUtil
.
getLoginId
();
return
AjaxJson
.
getSuccess
();
}
...
...
sa-token-doc/doc/README.md
浏览文件 @
5dd02b35
**
<p
align=
"center"
>
<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"
>
</p>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.12.1
</h1>
...
...
@@ -45,7 +45,7 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
秉承着这个目的,
`sa-token`
诞生了!
##
架构设计
##
框架优点?
在架构设计上,
`sa-token`
拒绝引入复杂的概念,以实际业务需求为第一目标,业务上需要什么,sa-token就做什么,
例如:踢人下线、自动续签、同端互斥登录等常见业务,均可以在框架内
**一行代码调用实现**
,简单粗暴,拒绝复杂!
...
...
@@ -57,8 +57,8 @@ sa-token是一个轻量级Java权限认证框架,主要解决:登录认证
总的来说,与其它权限认证框架相比,你将会从以下方面感受到
`sa-token`
的优势:
1.
**简单**
:可零配置启动框架,真正的开箱即用,低成本上手
2.
**强大**
:目前已集成几十项权限相关特性,涵盖了大部分业务场景的解决方案
3.
**易用**
:
同样的一个功能,在别的框架中可能需要上百行代码,在sa-token中统统一行代码解决
4.
**高扩展**
:
框架中
几乎所有组件都提供了扩展接口,90%以上的逻辑都可以按需重写
3.
**易用**
:
如丝般顺滑的API调用,大量高级特性统统只需一行代码即可实现
4.
**高扩展**
:几乎所有组件都提供了扩展接口,90%以上的逻辑都可以按需重写
有了sa-token,你所有的权限认证问题,都不再是问题!
...
...
@@ -206,12 +206,10 @@ sa-token秉承着开放的思想,欢迎大家贡献代码,为框架添砖加
## 交流群
QQ交流群:
[
1002350610 点击加入
](
https://jq.qq.com/?_wv=1027&k=45H977HM
)
![
扫码加群
](
https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/qq-group.png
':size=150'
)
**微信群**
:
![
微信群
](
https://images.gitee.com/uploads/images/2021/0
129/183207_4ad97c40_1766140.jpe
g
"sa-token-wx.jpg"
)
![
微信群
](
https://images.gitee.com/uploads/images/2021/0
204/121632_63ee1287_1766140.pn
g
"sa-token-wx.jpg"
)
<br>
**
\ No newline at end of file
<br>
\ No newline at end of file
sa-token-doc/doc/fun/token-timeout.md
浏览文件 @
5dd02b35
...
...
@@ -38,6 +38,8 @@
StpUtil
.
updateLastActivityToNow
();
```
同时,你还可以关闭框架的自动续签(在配置文件中配置
`autoRenew=false`
),此时续签操作完全由开发者控制,框架不再自动进行任何续签操作
### timeout与activity-timeout可以同时使用吗?
**可以同时使用!**
...
...
sa-token-doc/doc/use/config.md
浏览文件 @
5dd02b35
...
...
@@ -71,4 +71,5 @@ spring:
| tokenStyle | String | uuid | token风格,
[
参考:花式token
](
/use/token-style
)
|
| dataRefreshPeriod | int | 30 | 默认dao层实现类中,每次清理过期数据间隔的时间 (单位: 秒) ,默认值30秒,设置为-1代表不启动定时清理 |
| tokenSessionCheckLogin | Boolean | true | 获取token专属session时是否必须登录 (如果配置为true,会在每次获取token专属session时校验是否登录) |
| autoRenew | Boolean | true | 是否打开自动续签 (如果此值为true, 框架会在每次直接或间接调用getLoginId()时进行一次过期检查与续签操作) |
| isV | Boolean | true | 是否在初始化配置时打印版本字符画 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录