mirror of
https://gitee.com/dromara/sa-token.git
synced 2026-02-27 16:50:24 +08:00
优化自动生成token的算法
This commit is contained in:
@@ -22,7 +22,6 @@ import cn.dev33.satoken.exception.NotRoleException;
|
|||||||
import cn.dev33.satoken.session.SaSession;
|
import cn.dev33.satoken.session.SaSession;
|
||||||
import cn.dev33.satoken.session.TokenSign;
|
import cn.dev33.satoken.session.TokenSign;
|
||||||
import cn.dev33.satoken.util.SaTokenConsts;
|
import cn.dev33.satoken.util.SaTokenConsts;
|
||||||
import cn.dev33.satoken.util.SaTokenInsideUtil;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sa-token 权限验证,逻辑实现类
|
* sa-token 权限验证,逻辑实现类
|
||||||
@@ -535,7 +534,13 @@ public class StpLogic {
|
|||||||
// 如果配置忽略token登录校验,则必须保证token不为null (token为null的时候随机创建一个)
|
// 如果配置忽略token登录校验,则必须保证token不为null (token为null的时候随机创建一个)
|
||||||
String tokenValue = getTokenValue();
|
String tokenValue = getTokenValue();
|
||||||
if(tokenValue == null || Objects.equals(tokenValue, "")) {
|
if(tokenValue == null || Objects.equals(tokenValue, "")) {
|
||||||
setLoginId(SaTokenInsideUtil.getMarking28());
|
// 随机一个token送给ta
|
||||||
|
tokenValue = createTokenValue(null);
|
||||||
|
SaTokenManager.getSaTokenServlet().getRequest().setAttribute(SaTokenConsts.JUST_CREATED_SAVE_KEY, tokenValue);
|
||||||
|
setLastActivityToNow(tokenValue); // 写入 [最后操作时间]
|
||||||
|
if(getConfig().getIsReadCookie() == true){ // cookie注入
|
||||||
|
SaTokenManager.getSaTokenCookie().addCookie(SaTokenManager.getSaTokenServlet().getResponse(), getTokenName(), tokenValue, "/", (int)getConfig().getTimeout());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 返回这个token对应的专属session
|
// 返回这个token对应的专属session
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ spring:
|
|||||||
# token名称 (同时也是cookie名称)
|
# token名称 (同时也是cookie名称)
|
||||||
token-name: satoken
|
token-name: satoken
|
||||||
# token有效期,单位s 默认30天, -1代表永不过期
|
# token有效期,单位s 默认30天, -1代表永不过期
|
||||||
timeout: -1
|
timeout: 2592000
|
||||||
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
|
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
|
||||||
activity-timeout: -1
|
activity-timeout: -1
|
||||||
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
|
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
|
||||||
@@ -19,7 +19,6 @@ spring:
|
|||||||
token-style: uuid
|
token-style: uuid
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# redis配置
|
# redis配置
|
||||||
redis:
|
redis:
|
||||||
# Redis数据库索引(默认为0)
|
# Redis数据库索引(默认为0)
|
||||||
|
|||||||
Reference in New Issue
Block a user