mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
chore(core): 去除登录流程中不必要的冗余代码
This commit is contained in:
parent
c62fdc9276
commit
b5908c8ac0
@ -15,14 +15,14 @@
|
|||||||
*/
|
*/
|
||||||
package cn.dev33.satoken.stp;
|
package cn.dev33.satoken.stp;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.SaManager;
|
import cn.dev33.satoken.SaManager;
|
||||||
import cn.dev33.satoken.config.SaTokenConfig;
|
import cn.dev33.satoken.config.SaTokenConfig;
|
||||||
import cn.dev33.satoken.dao.SaTokenDao;
|
import cn.dev33.satoken.dao.SaTokenDao;
|
||||||
import cn.dev33.satoken.util.SaTokenConsts;
|
import cn.dev33.satoken.util.SaTokenConsts;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在调用 `StpUtil.login()` 时的 配置参数 Model,决定登录的一些细节行为 <br>
|
* 在调用 `StpUtil.login()` 时的 配置参数 Model,决定登录的一些细节行为 <br>
|
||||||
*
|
*
|
||||||
@ -236,26 +236,6 @@ public class SaLoginModel {
|
|||||||
return isLastingCookie;
|
return isLastingCookie;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return timeout 值 (如果此配置项尚未配置,则取全局配置的值)
|
|
||||||
*/
|
|
||||||
public Long getTimeoutOrGlobalConfig() {
|
|
||||||
if(timeout == null) {
|
|
||||||
timeout = SaManager.getConfig().getTimeout();
|
|
||||||
}
|
|
||||||
return timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return 是否在登录后将 Token 写入到响应头 (如果此配置项尚未配置,则取全局配置的值)
|
|
||||||
*/
|
|
||||||
public Boolean getIsWriteHeaderOrGlobalConfig() {
|
|
||||||
if(isWriteHeader == null) {
|
|
||||||
isWriteHeader = SaManager.getConfig().getIsWriteHeader();
|
|
||||||
}
|
|
||||||
return isWriteHeader;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 写入扩展数据(只在jwt模式下生效)
|
* 写入扩展数据(只在jwt模式下生效)
|
||||||
* @param key 键
|
* @param key 键
|
||||||
@ -297,13 +277,11 @@ public class SaLoginModel {
|
|||||||
if( ! getIsLastingCookieOrFalse()) {
|
if( ! getIsLastingCookieOrFalse()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if(getTimeoutOrGlobalConfig() == SaTokenDao.NEVER_EXPIRE) {
|
long _timeout = getTimeout();
|
||||||
|
if(_timeout == SaTokenDao.NEVER_EXPIRE || _timeout > Integer.MAX_VALUE) {
|
||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
if (timeout > Integer.MAX_VALUE) {
|
return (int)_timeout;
|
||||||
return Integer.MAX_VALUE;
|
|
||||||
}
|
|
||||||
return (int)(long)timeout;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -353,4 +331,31 @@ public class SaLoginModel {
|
|||||||
return new SaLoginModel();
|
return new SaLoginModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------- 过期方法
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请改为 getTimeout
|
||||||
|
* @return timeout 值 (如果此配置项尚未配置,则取全局配置的值)
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public Long getTimeoutOrGlobalConfig() {
|
||||||
|
if(timeout == null) {
|
||||||
|
timeout = SaManager.getConfig().getTimeout();
|
||||||
|
}
|
||||||
|
return timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请改为 getIsWriteHeader
|
||||||
|
* @return 是否在登录后将 Token 写入到响应头 (如果此配置项尚未配置,则取全局配置的值)
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public Boolean getIsWriteHeaderOrGlobalConfig() {
|
||||||
|
if(isWriteHeader == null) {
|
||||||
|
isWriteHeader = SaManager.getConfig().getIsWriteHeader();
|
||||||
|
}
|
||||||
|
return isWriteHeader;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ public class StpLogic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 3. 将 token 写入到当前请求的响应头中
|
// 3. 将 token 写入到当前请求的响应头中
|
||||||
if(loginModel.getIsWriteHeaderOrGlobalConfig()) {
|
if(loginModel.getIsWriteHeader()) {
|
||||||
setTokenValueToResponseHeader(tokenValue);
|
setTokenValueToResponseHeader(tokenValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -471,7 +471,7 @@ public class StpLogic {
|
|||||||
String tokenValue = distUsableToken(id, loginModel);
|
String tokenValue = distUsableToken(id, loginModel);
|
||||||
|
|
||||||
// 4、获取此账号的 Account-Session , 续期
|
// 4、获取此账号的 Account-Session , 续期
|
||||||
SaSession session = getSessionByLoginId(id, true, loginModel.getTimeoutOrGlobalConfig());
|
SaSession session = getSessionByLoginId(id, true, loginModel.getTimeout());
|
||||||
session.updateMinTimeout(loginModel.getTimeout());
|
session.updateMinTimeout(loginModel.getTimeout());
|
||||||
|
|
||||||
// 5、在 Account-Session 上记录本次登录的 token 签名
|
// 5、在 Account-Session 上记录本次登录的 token 签名
|
||||||
@ -483,7 +483,7 @@ public class StpLogic {
|
|||||||
|
|
||||||
// 7、写入这个 token 的最后活跃时间 token-last-active
|
// 7、写入这个 token 的最后活跃时间 token-last-active
|
||||||
if(isOpenCheckActiveTimeout()) {
|
if(isOpenCheckActiveTimeout()) {
|
||||||
setLastActiveToNow(tokenValue, loginModel.getActiveTimeout(), loginModel.getTimeoutOrGlobalConfig());
|
setLastActiveToNow(tokenValue, loginModel.getActiveTimeout(), loginModel.getTimeout());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8、如果该 token 对应的 Token-Session 已经存在,则需要给其续期
|
// 8、如果该 token 对应的 Token-Session 已经存在,则需要给其续期
|
||||||
|
Loading…
Reference in New Issue
Block a user