feat: 新增配置项 rightNowCreateTokenSession:在登录时,是否立即创建对应的 Token-Session (true=在登录时立即创建,false=在第一次调用 getTokenSession() 时创建)

This commit is contained in:
click33
2025-04-02 05:51:18 +08:00
parent a7f178da53
commit f2e9f7c222
5 changed files with 56 additions and 1 deletions

View File

@@ -128,6 +128,11 @@ public class SaTokenConfig implements Serializable {
*/
private Boolean isLogoutKeepTokenSession = false;
/**
* 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*/
private Boolean rightNowCreateTokenSession = false;
/**
* token 风格默认可取值uuid、simple-uuid、random-32、random-64、random-128、tik
*/
@@ -821,6 +826,26 @@ public class SaTokenConfig implements Serializable {
return this;
}
/**
* 获取 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*
* @return /
*/
public Boolean getRightNowCreateTokenSession() {
return this.rightNowCreateTokenSession;
}
/**
* 设置 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*
* @param rightNowCreateTokenSession /
* @return 对象自身
*/
public SaTokenConfig setRightNowCreateTokenSession(Boolean rightNowCreateTokenSession) {
this.rightNowCreateTokenSession = rightNowCreateTokenSession;
return this;
}
/**
* @return Cookie 全局配置对象
*/
@@ -895,6 +920,7 @@ public class SaTokenConfig implements Serializable {
+ ", logoutRange=" + logoutRange
+ ", isLogoutKeepFreezeOps=" + isLogoutKeepFreezeOps
+ ", isLogoutKeepTokenSession=" + isLogoutKeepTokenSession
+ ", rightNowCreateTokenSession=" + rightNowCreateTokenSession
+ ", tokenStyle=" + tokenStyle
+ ", dataRefreshPeriod=" + dataRefreshPeriod
+ ", tokenSessionCheckLogin=" + tokenSessionCheckLogin

View File

@@ -498,7 +498,7 @@ public class StpLogic {
}
// 7、如果该 token 对应的 Token-Session 已经存在,则需要给其续期
SaSession tokenSession = getTokenSessionByToken(tokenValue, false);
SaSession tokenSession = getTokenSessionByToken(tokenValue, loginParameter.getRightNowCreateTokenSession());
if(tokenSession != null) {
tokenSession.updateMinTimeout(loginParameter.getTimeout());
}

View File

@@ -118,6 +118,11 @@ public class SaLoginParameter {
*/
private SaLogoutMode overflowLogoutMode;
/**
* 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*/
private Boolean rightNowCreateTokenSession;
// ------ 附加方法
@@ -145,6 +150,7 @@ public class SaLoginParameter {
this.isWriteHeader = config.getIsWriteHeader();
this.replacedRange = config.getReplacedRange();
this.overflowLogoutMode = config.getOverflowLogoutMode();
this.rightNowCreateTokenSession = config.getRightNowCreateTokenSession();
return this;
}
@@ -498,6 +504,26 @@ public class SaLoginParameter {
return this;
}
/**
* 获取 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*
* @return /
*/
public Boolean getRightNowCreateTokenSession() {
return this.rightNowCreateTokenSession;
}
/**
* 设置 在登录时,是否立即创建对应的 Token-Session true=在登录时立即创建false=在第一次调用 getTokenSession() 时创建)
*
* @param rightNowCreateTokenSession /
* @return 对象自身
*/
public SaLoginParameter setRightNowCreateTokenSession(Boolean rightNowCreateTokenSession) {
this.rightNowCreateTokenSession = rightNowCreateTokenSession;
return this;
}
/*
* toString
*/
@@ -519,6 +545,7 @@ public class SaLoginParameter {
+ ", token=" + token
+ ", isWriteHeader=" + isWriteHeader
+ ", terminalTag=" + terminalExtraData
+ ", rightNowCreateTokenSession=" + rightNowCreateTokenSession
+ "]";
}