diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenEventCenter.java b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenEventCenter.java
index 53c18dd8..0caca54e 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenEventCenter.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenEventCenter.java
@@ -22,7 +22,7 @@ import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.error.SaErrorCode;
import cn.dev33.satoken.exception.SaTokenException;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.StpLogic;
/**
@@ -149,11 +149,11 @@ public class SaTokenEventCenter {
* @param loginType 账号类别
* @param loginId 账号id
* @param tokenValue 本次登录产生的 token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- public static void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public static void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
for (SaTokenListener listener : listenerList) {
- listener.doLogin(loginType, loginId, tokenValue, loginModel);
+ listener.doLogin(loginType, loginId, tokenValue, loginParameter);
}
}
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListener.java b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListener.java
index 1d867f2c..289b7d46 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListener.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListener.java
@@ -17,7 +17,7 @@ package cn.dev33.satoken.listener;
import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
import cn.dev33.satoken.config.SaTokenConfig;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.StpLogic;
/**
@@ -35,9 +35,9 @@ public interface SaTokenListener {
* @param loginType 账号类别
* @param loginId 账号id
* @param tokenValue 本次登录产生的 token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel);
+ void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter);
/**
* 每次注销时触发
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForLog.java b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForLog.java
index c1b61118..76c888d8 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForLog.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForLog.java
@@ -17,7 +17,7 @@ package cn.dev33.satoken.listener;
import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
import cn.dev33.satoken.config.SaTokenConfig;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.util.SaFoxUtil;
@@ -35,7 +35,7 @@ public class SaTokenListenerForLog implements SaTokenListener {
* 每次登录时触发
*/
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
log.info("账号 {} 登录成功 (loginType={}), 会话凭证 token={}", loginId, loginType, tokenValue);
}
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForSimple.java b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForSimple.java
index 4f3042b9..0bce1d3f 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForSimple.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/listener/SaTokenListenerForSimple.java
@@ -15,7 +15,7 @@
*/
package cn.dev33.satoken.listener;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
/**
* Sa-Token 侦听器,默认空实现
@@ -28,7 +28,7 @@ import cn.dev33.satoken.stp.SaLoginModel;
public class SaTokenListenerForSimple implements SaTokenListener {
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
}
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginConfig.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginConfig.java
index 26353970..66993a6e 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginConfig.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginConfig.java
@@ -15,22 +15,27 @@
*/
package cn.dev33.satoken.stp;
+import cn.dev33.satoken.SaManager;
+
import java.util.Map;
/**
- * 快速、简洁的构建:调用 `StpUtil.login()` 时的 [ 配置参数 SaLoginModel ]
+ *
请更换为 new SaLoginParameter()
+ *
+ * 快速、简洁的构建:调用 `StpUtil.login()` 时的 [ 配置参数 SaLoginParameter ]
*
*
* // 例如:在登录时指定 token 有效期为七天,代码如下:
* StpUtil.login(10001, SaLoginConfig.setTimeout(60 * 60 * 24 * 7));
*
* // 上面的代码与下面的代码等价
- * StpUtil.login(10001, new SaLoginModel().setTimeout(60 * 60 * 24 * 7));
+ * StpUtil.login(10001, new SaLoginParameter().setTimeout(60 * 60 * 24 * 7));
*
*
* @author click33
* @since 1.29.0
*/
+@Deprecated
public class SaLoginConfig {
private SaLoginConfig() {
@@ -40,7 +45,7 @@ public class SaLoginConfig {
* @param device 此次登录的客户端设备类型
* @return 登录参数 Model
*/
- public static SaLoginModel setDevice(String device) {
+ public static SaLoginParameter setDevice(String device) {
return create().setDevice(device);
}
@@ -48,7 +53,7 @@ public class SaLoginConfig {
* @param isLastingCookie 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
* @return 登录参数 Model
*/
- public static SaLoginModel setIsLastingCookie(Boolean isLastingCookie) {
+ public static SaLoginParameter setIsLastingCookie(Boolean isLastingCookie) {
return create().setIsLastingCookie(isLastingCookie);
}
@@ -56,7 +61,7 @@ public class SaLoginConfig {
* @param timeout 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的timeout值)
* @return 登录参数 Model
*/
- public static SaLoginModel setTimeout(long timeout) {
+ public static SaLoginParameter setTimeout(long timeout) {
return create().setTimeout(timeout);
}
@@ -64,7 +69,7 @@ public class SaLoginConfig {
* @param activeTimeout 指定此次登录 token 最低活跃频率,单位:秒(如未指定,自动取全局配置的 activeTimeout 值)
* @return 对象自身
*/
- public static SaLoginModel setActiveTimeout(long activeTimeout) {
+ public static SaLoginParameter setActiveTimeout(long activeTimeout) {
return create().setActiveTimeout(activeTimeout);
}
@@ -72,7 +77,7 @@ public class SaLoginConfig {
* @param extraData 扩展信息(只在jwt模式下生效)
* @return 登录参数 Model
*/
- public static SaLoginModel setExtraData(Map extraData) {
+ public static SaLoginParameter setExtraData(Map extraData) {
return create().setExtraData(extraData);
}
@@ -80,7 +85,7 @@ public class SaLoginConfig {
* @param token 预定Token(预定本次登录生成的Token值)
* @return 登录参数 Model
*/
- public static SaLoginModel setToken(String token) {
+ public static SaLoginParameter setToken(String token) {
return create().setToken(token);
}
@@ -90,7 +95,7 @@ public class SaLoginConfig {
* @param value 值
* @return 登录参数 Model
*/
- public static SaLoginModel setExtra(String key, Object value) {
+ public static SaLoginParameter setExtra(String key, Object value) {
return create().setExtra(key, value);
}
@@ -98,7 +103,7 @@ public class SaLoginConfig {
* @param isWriteHeader 是否在登录后将 Token 写入到响应头
* @return 登录参数 Model
*/
- public static SaLoginModel setIsWriteHeader(Boolean isWriteHeader) {
+ public static SaLoginParameter setIsWriteHeader(Boolean isWriteHeader) {
return create().setIsWriteHeader(isWriteHeader);
}
@@ -108,16 +113,16 @@ public class SaLoginConfig {
* @param tokenSignTag /
* @return 登录参数 Model
*/
- public static SaLoginModel setTokenSignTag(Object tokenSignTag) {
+ public static SaLoginParameter setTokenSignTag(Object tokenSignTag) {
return create().setTokenSignTag(tokenSignTag);
}
/**
- * 静态方法获取一个 SaLoginModel 对象
- * @return SaLoginModel 对象
+ * 静态方法获取一个 SaLoginParameter 对象
+ * @return SaLoginParameter 对象
*/
- public static SaLoginModel create() {
- return new SaLoginModel();
+ public static SaLoginParameter create() {
+ return new SaLoginParameter(SaManager.getConfig());
}
}
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginModel.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginParameter.java
similarity index 80%
rename from sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginModel.java
rename to sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginParameter.java
index e12e5976..8d124646 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginModel.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/SaLoginParameter.java
@@ -28,13 +28,18 @@ import java.util.Map;
*
*
* // 例如:在登录时指定 token 有效期为七天,代码如下:
- * StpUtil.login(10001, new SaLoginModel().setTimeout(60 * 60 * 24 * 7));
+ * StpUtil.login(10001, new SaLoginParameter().setTimeout(60 * 60 * 24 * 7));
*
*
* @author click33
* @since 1.13.2
*/
-public class SaLoginModel {
+public class SaLoginParameter {
+
+// /**
+// * 该对象是否已构造完毕
+// */
+// public boolean isBuild = false;
// --------- 单独参数
@@ -82,7 +87,30 @@ public class SaLoginModel {
private Boolean isWriteHeader;
- // ------ 附加方法
+ // ------ 附加方法
+
+ public SaLoginParameter() {
+ this(SaManager.getConfig());
+ }
+ public SaLoginParameter(SaTokenConfig config) {
+ setDefaultValues(config);
+ }
+
+ /**
+ * 根据 SaTokenConfig 对象初始化默认值
+ *
+ * @param config 使用的配置对象
+ * @return 对象自身
+ */
+ public SaLoginParameter setDefaultValues(SaTokenConfig config) {
+ this.device = SaTokenConsts.DEFAULT_LOGIN_DEVICE;
+ this.isLastingCookie = config.getIsLastingCookie();
+ this.timeout = config.getTimeout();
+ this.isWriteHeader = config.getIsWriteHeader();
+ return this;
+ }
+
+
/**
* 写入扩展数据(只在jwt模式下生效)
@@ -90,7 +118,7 @@ public class SaLoginModel {
* @param value 值
* @return 对象自身
*/
- public SaLoginModel setExtra(String key, Object value) {
+ public SaLoginParameter setExtra(String key, Object value) {
if(this.extraData == null) {
this.extraData = new LinkedHashMap<>();
}
@@ -119,7 +147,8 @@ public class SaLoginModel {
}
/**
- * @return Cookie时长
+ * 计算 Cookie 时长
+ * @return /
*/
public int getCookieTimeout() {
if( ! getIsLastingCookie()) {
@@ -143,40 +172,11 @@ public class SaLoginModel {
}
/**
- * 构建对象,初始化默认值
- * @return 对象自身
+ * 静态方法获取一个 SaLoginParameter 对象
+ * @return SaLoginParameter 对象
*/
- public SaLoginModel build() {
- return build(SaManager.getConfig());
- }
-
- /**
- * 构建对象,初始化默认值
- * @param config 配置对象
- * @return 对象自身
- */
- public SaLoginModel build(SaTokenConfig config) {
-// if(device == null) {
-// device = SaTokenConsts.DEFAULT_LOGIN_DEVICE;
-// }
- if(isLastingCookie == null) {
- isLastingCookie = config.getIsLastingCookie();
- }
- if(timeout == null) {
- timeout = config.getTimeout();
- }
- if(isWriteHeader == null) {
- isWriteHeader = config.getIsWriteHeader();
- }
- return this;
- }
-
- /**
- * 静态方法获取一个 SaLoginModel 对象
- * @return SaLoginModel 对象
- */
- public static SaLoginModel create() {
- return new SaLoginModel();
+ public static SaLoginParameter create() {
+ return new SaLoginParameter(SaManager.getConfig());
}
@@ -196,7 +196,7 @@ public class SaLoginModel {
* @param device 此次登录的客户端设备类型
* @return 对象自身
*/
- public SaLoginModel setDevice(String device) {
+ public SaLoginParameter setDevice(String device) {
this.device = device;
return this;
}
@@ -212,7 +212,7 @@ public class SaLoginModel {
* @param isLastingCookie 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
* @return 对象自身
*/
- public SaLoginModel setIsLastingCookie(Boolean isLastingCookie) {
+ public SaLoginParameter setIsLastingCookie(Boolean isLastingCookie) {
this.isLastingCookie = isLastingCookie;
return this;
}
@@ -228,7 +228,7 @@ public class SaLoginModel {
* @param timeout 指定此次登录 token 有效期,单位:秒 (如未指定,自动取全局配置的 timeout 值)
* @return 对象自身
*/
- public SaLoginModel setTimeout(long timeout) {
+ public SaLoginParameter setTimeout(long timeout) {
this.timeout = timeout;
return this;
}
@@ -245,7 +245,7 @@ public class SaLoginModel {
* @param activeTimeout 指定此次登录 token 最低活跃频率,单位:秒(如未指定,则使用全局配置的 activeTimeout 值)
* @return 对象自身
*/
- public SaLoginModel setActiveTimeout(long activeTimeout) {
+ public SaLoginParameter setActiveTimeout(long activeTimeout) {
this.activeTimeout = activeTimeout;
return this;
}
@@ -261,7 +261,7 @@ public class SaLoginModel {
* @param extraData 扩展信息(只在jwt模式下生效)
* @return 对象自身
*/
- public SaLoginModel setExtraData(Map extraData) {
+ public SaLoginParameter setExtraData(Map extraData) {
this.extraData = extraData;
return this;
}
@@ -277,7 +277,7 @@ public class SaLoginModel {
* @param token 预定Token(预定本次登录生成的Token值)
* @return 对象自身
*/
- public SaLoginModel setToken(String token) {
+ public SaLoginParameter setToken(String token) {
this.token = token;
return this;
}
@@ -293,7 +293,7 @@ public class SaLoginModel {
* @param isWriteHeader 是否在登录后将 Token 写入到响应头
* @return 对象自身
*/
- public SaLoginModel setIsWriteHeader(Boolean isWriteHeader) {
+ public SaLoginParameter setIsWriteHeader(Boolean isWriteHeader) {
this.isWriteHeader = isWriteHeader;
return this;
}
@@ -313,7 +313,7 @@ public class SaLoginModel {
* @param tokenSignTag 本次登录挂载到 TokenSign 的数据
* @return 对象自身
*/
- public SaLoginModel setTokenSignTag(Object tokenSignTag) {
+ public SaLoginParameter setTokenSignTag(Object tokenSignTag) {
this.tokenSignTag = tokenSignTag;
return this;
}
@@ -323,7 +323,7 @@ public class SaLoginModel {
*/
@Override
public String toString() {
- return "SaLoginModel ["
+ return "SaLoginParameter ["
+ "device=" + device
+ ", isLastingCookie=" + isLastingCookie
+ ", timeout=" + timeout
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
index a4a2f768..24b8ea9a 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java
@@ -169,7 +169,7 @@ public class StpLogic {
* @param tokenValue token 值
*/
public void setTokenValue(String tokenValue){
- setTokenValue(tokenValue, new SaLoginModel().setTimeout(getConfigOrGlobal().getTimeout()));
+ setTokenValue(tokenValue, createSaLoginParameter().setTimeout(getConfigOrGlobal().getTimeout()));
}
/**
@@ -179,35 +179,32 @@ public class StpLogic {
* @param cookieTimeout Cookie存活时间(秒)
*/
public void setTokenValue(String tokenValue, int cookieTimeout){
- setTokenValue(tokenValue, new SaLoginModel().setTimeout(cookieTimeout));
+ setTokenValue(tokenValue, createSaLoginParameter().setTimeout(cookieTimeout));
}
/**
* 在当前会话写入指定 token 值
*
* @param tokenValue token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- public void setTokenValue(String tokenValue, SaLoginModel loginModel){
+ public void setTokenValue(String tokenValue, SaLoginParameter loginParameter){
// 先判断一下,如果提供 token 为空,则不执行任何动作
if(SaFoxUtil.isEmpty(tokenValue)) {
return;
}
- // 构建一下
- loginModel.build(getConfigOrGlobal());
-
// 1、将 token 写入到当前请求的 Storage 存储器里
setTokenValueToStorage(tokenValue);
// 2. 将 token 写入到当前会话的 Cookie 里
if (getConfigOrGlobal().getIsReadCookie()) {
- setTokenValueToCookie(tokenValue, loginModel.getCookieTimeout());
+ setTokenValueToCookie(tokenValue, loginParameter.getCookieTimeout());
}
// 3. 将 token 写入到当前请求的响应头中
- if(loginModel.getIsWriteHeader()) {
+ if(loginParameter.getIsWriteHeader()) {
setTokenValueToResponseHeader(tokenValue);
}
}
@@ -399,7 +396,7 @@ public class StpLogic {
* @param id 账号id,建议的类型:(long | int | String)
*/
public void login(Object id) {
- login(id, new SaLoginModel());
+ login(id, createSaLoginParameter());
}
/**
@@ -409,7 +406,7 @@ public class StpLogic {
* @param device 设备类型
*/
public void login(Object id, String device) {
- login(id, new SaLoginModel().setDevice(device));
+ login(id, createSaLoginParameter().setDevice(device));
}
/**
@@ -419,7 +416,7 @@ public class StpLogic {
* @param isLastingCookie 是否为持久Cookie,值为 true 时记住我,值为 false 时关闭浏览器需要重新登录
*/
public void login(Object id, boolean isLastingCookie) {
- login(id, new SaLoginModel().setIsLastingCookie(isLastingCookie));
+ login(id, createSaLoginParameter().setIsLastingCookie(isLastingCookie));
}
/**
@@ -429,21 +426,21 @@ public class StpLogic {
* @param timeout 此次登录 token 的有效期, 单位:秒
*/
public void login(Object id, long timeout) {
- login(id, new SaLoginModel().setTimeout(timeout));
+ login(id, createSaLoginParameter().setTimeout(timeout));
}
/**
* 会话登录,并指定所有登录参数 Model
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
*/
- public void login(Object id, SaLoginModel loginModel) {
+ public void login(Object id, SaLoginParameter loginParameter) {
// 1、创建会话
- String token = createLoginSession(id, loginModel);
+ String token = createLoginSession(id, loginParameter);
// 2、在当前客户端注入 token
- setTokenValue(token, loginModel);
+ setTokenValue(token, loginParameter);
}
/**
@@ -453,59 +450,57 @@ public class StpLogic {
* @return 返回会话令牌
*/
public String createLoginSession(Object id) {
- return createLoginSession(id, new SaLoginModel());
+ return createLoginSession(id, createSaLoginParameter());
}
/**
* 创建指定账号 id 的登录会话数据
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回会话令牌
*/
- public String createLoginSession(Object id, SaLoginModel loginModel) {
+ public String createLoginSession(Object id, SaLoginParameter loginParameter) {
+
+ SaTokenConfig config = getConfigOrGlobal();
// 1、先检查一下,传入的参数是否有效
- checkLoginArgs(id, loginModel);
-
- // 2、初始化 loginModel ,给一些参数补上默认值
- SaTokenConfig config = getConfigOrGlobal();
- loginModel.build(config);
+ checkLoginArgs(id, loginParameter);
- // 3、给这个账号分配一个可用的 token
- String tokenValue = distUsableToken(id, loginModel);
+ // 2、给这个账号分配一个可用的 token
+ String tokenValue = distUsableToken(id, loginParameter);
- // 4、获取此账号的 Account-Session , 续期
- SaSession session = getSessionByLoginId(id, true, loginModel.getTimeout());
- session.updateMinTimeout(loginModel.getTimeout());
+ // 3、获取此账号的 Account-Session , 续期
+ SaSession session = getSessionByLoginId(id, true, loginParameter.getTimeout());
+ session.updateMinTimeout(loginParameter.getTimeout());
- // 5、在 Account-Session 上记录本次登录的 token 签名
- TokenSign tokenSign = new TokenSign(tokenValue, loginModel.getDeviceOrDefault(), loginModel.getTokenSignTag());
+ // 4、在 Account-Session 上记录本次登录的 token 签名
+ TokenSign tokenSign = new TokenSign(tokenValue, loginParameter.getDevice(), loginParameter.getTokenSignTag());
session.addTokenSign(tokenSign);
- // 6、保存 token -> id 的映射关系,方便日后根据 token 找账号 id
- saveTokenToIdMapping(tokenValue, id, loginModel.getTimeout());
+ // 5、保存 token -> id 的映射关系,方便日后根据 token 找账号 id
+ saveTokenToIdMapping(tokenValue, id, loginParameter.getTimeout());
- // 7、写入这个 token 的最后活跃时间 token-last-active
+ // 6、写入这个 token 的最后活跃时间 token-last-active
if(isOpenCheckActiveTimeout()) {
- setLastActiveToNow(tokenValue, loginModel.getActiveTimeout(), loginModel.getTimeout());
+ setLastActiveToNow(tokenValue, loginParameter.getActiveTimeout(), loginParameter.getTimeout());
}
- // 8、如果该 token 对应的 Token-Session 已经存在,则需要给其续期
+ // 7、如果该 token 对应的 Token-Session 已经存在,则需要给其续期
SaSession tokenSession = getTokenSessionByToken(tokenValue, false);
if(tokenSession != null) {
- tokenSession.updateMinTimeout(loginModel.getTimeout());
+ tokenSession.updateMinTimeout(loginParameter.getTimeout());
}
- // 9、$$ 发布全局事件:账号 xxx 登录成功
- SaTokenEventCenter.doLogin(loginType, id, tokenValue, loginModel);
+ // 8、$$ 发布全局事件:账号 xxx 登录成功
+ SaTokenEventCenter.doLogin(loginType, id, tokenValue, loginParameter);
- // 10、检查此账号会话数量是否超出最大值,如果超过,则按照登录时间顺序,把最开始登录的给注销掉
+ // 9、检查此账号会话数量是否超出最大值,如果超过,则按照登录时间顺序,把最开始登录的给注销掉
if(config.getMaxLoginCount() != -1) {
logoutByMaxLoginCount(id, session, null, config.getMaxLoginCount());
}
- // 11、一切处理完毕,返回会话凭证 token
+ // 10、一切处理完毕,返回会话凭证 token
return tokenValue;
}
@@ -513,21 +508,22 @@ public class StpLogic {
* 为指定账号 id 的登录操作,分配一个可用的 token
*
* @param id 账号id
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回 token
*/
- protected String distUsableToken(Object id, SaLoginModel loginModel) {
+ protected String distUsableToken(Object id, SaLoginParameter loginParameter) {
// 1、获取全局配置的 isConcurrent 参数
// 如果配置为:不允许一个账号多地同时登录,则需要先将这个账号的历史登录会话标记为:被顶下线
Boolean isConcurrent = getConfigOrGlobal().getIsConcurrent();
if( ! isConcurrent) {
- replaced(id, loginModel.getDevice());
+ // TODO 此处应该加一个配置决定是只顶掉当前设备类型,还是所有类型
+ replaced(id, loginParameter.getDevice());
}
// 2、如果调用者预定了要生成的 token,则直接返回这个预定的值,框架无需再操心了
- if(SaFoxUtil.isNotEmpty(loginModel.getToken())) {
- return loginModel.getToken();
+ if(SaFoxUtil.isNotEmpty(loginParameter.getToken())) {
+ return loginParameter.getToken();
}
// 3、只有在配置了 [ 允许一个账号多地同时登录 ] 时,才尝试复用旧 token,这样可以避免不必要地查询,节省开销
@@ -537,7 +533,7 @@ public class StpLogic {
if(getConfigOfIsShare()) {
// 根据 账号id + 设备类型,尝试获取旧的 token
- String tokenValue = getTokenValueByLoginId(id, loginModel.getDeviceOrDefault());
+ String tokenValue = getTokenValueByLoginId(id, loginParameter.getDevice());
// 如果有值,那就直接复用
if(SaFoxUtil.isNotEmpty(tokenValue)) {
@@ -554,7 +550,7 @@ public class StpLogic {
"token",
getConfigOfMaxTryTimes(),
() -> {
- return createTokenValue(id, loginModel.getDeviceOrDefault(), loginModel.getTimeout(), loginModel.getExtraData());
+ return createTokenValue(id, loginParameter.getDevice(), loginParameter.getTimeout(), loginParameter.getExtraData());
},
tokenValue -> {
return getLoginIdNotHandle(tokenValue) == null;
@@ -566,9 +562,9 @@ public class StpLogic {
* 校验登录时的参数有效性,如果有问题会打印警告或抛出异常
*
* @param id 账号id
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
*/
- protected void checkLoginArgs(Object id, SaLoginModel loginModel) {
+ protected void checkLoginArgs(Object id, SaLoginParameter loginParameter) {
// 1、账号 id 不能为空
if(SaFoxUtil.isEmpty(id)) {
@@ -588,14 +584,13 @@ public class StpLogic {
// 4、判断当前 StpLogic 是否支持 extra 扩展参数
if( ! isSupportExtra()) {
// 如果不支持,开发者却传入了 extra 扩展参数,那么就打印警告信息
- Map extraData = loginModel.getExtraData();
- if(extraData != null && extraData.size() > 0) {
+ if(loginParameter.isSetExtraData()) {
SaManager.log.warn("当前 StpLogic 不支持 extra 扩展参数模式,传入的 extra 参数将被忽略");
}
}
// 5、如果全局配置未启动动态 activeTimeout 功能,但是此次登录却传入了 activeTimeout 参数,那么就打印警告信息
- if( ! getConfigOrGlobal().getDynamicActiveTimeout() && loginModel.getActiveTimeout() != null) {
+ if( ! getConfigOrGlobal().getDynamicActiveTimeout() && loginParameter.getActiveTimeout() != null) {
SaManager.log.warn("当前全局配置未开启动态 activeTimeout 功能,传入的 activeTimeout 参数将被忽略");
}
@@ -610,7 +605,7 @@ public class StpLogic {
public String getOrCreateLoginSession(Object id) {
String tokenValue = getTokenValueByLoginId(id);
if(tokenValue == null) {
- tokenValue = createLoginSession(id, new SaLoginModel());
+ tokenValue = createLoginSession(id, createSaLoginParameter());
}
return tokenValue;
}
@@ -2114,7 +2109,7 @@ public class StpLogic {
*/
public String getTokenValueByLoginId(Object loginId, String device) {
List tokenValueList = getTokenValueListByLoginId(loginId, device);
- return tokenValueList.size() == 0 ? null : tokenValueList.get(tokenValueList.size() - 1);
+ return tokenValueList.isEmpty() ? null : tokenValueList.get(tokenValueList.size() - 1);
}
/**
@@ -2895,6 +2890,15 @@ public class StpLogic {
return false;
}
+ /**
+ * 根据当前配置对象创建一个 SaLoginParameter 对象
+ *
+ * @return /
+ */
+ public SaLoginParameter createSaLoginParameter() {
+ return new SaLoginParameter(getConfigOrGlobal());
+ }
+
// ------------------- 过期方法 -------------------
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
index 60cf4b92..d381ab67 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java
@@ -117,10 +117,10 @@ public class StpUtil {
* 在当前会话写入指定 token 值
*
* @param tokenValue token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- public static void setTokenValue(String tokenValue, SaLoginModel loginModel){
- stpLogic.setTokenValue(tokenValue, loginModel);
+ public static void setTokenValue(String tokenValue, SaLoginParameter loginParameter){
+ stpLogic.setTokenValue(tokenValue, loginParameter);
}
/**
@@ -198,10 +198,10 @@ public class StpUtil {
* 会话登录,并指定所有登录参数 Model
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
*/
- public static void login(Object id, SaLoginModel loginModel) {
- stpLogic.login(id, loginModel);
+ public static void login(Object id, SaLoginParameter loginParameter) {
+ stpLogic.login(id, loginParameter);
}
/**
@@ -218,11 +218,11 @@ public class StpUtil {
* 创建指定账号 id 的登录会话数据
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回会话令牌
*/
- public static String createLoginSession(Object id, SaLoginModel loginModel) {
- return stpLogic.createLoginSession(id, loginModel);
+ public static String createLoginSession(Object id, SaLoginParameter loginParameter) {
+ return stpLogic.createLoginSession(id, loginParameter);
}
/**
@@ -1260,4 +1260,16 @@ public class StpUtil {
stpLogic.closeSafe(service);
}
+
+ // ------------------- Bean 对象、字段代理 -------------------
+
+ /**
+ * 根据当前配置对象创建一个 SaLoginParameter 对象
+ *
+ * @return /
+ */
+ public static SaLoginParameter createSaLoginParameter() {
+ return stpLogic.createSaLoginParameter();
+ }
+
}
diff --git a/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/MySaTokenListener.java b/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/MySaTokenListener.java
index 3a0f51e4..494b516d 100644
--- a/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/MySaTokenListener.java
+++ b/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/MySaTokenListener.java
@@ -1,7 +1,7 @@
package com.pj.satoken;
import cn.dev33.satoken.listener.SaTokenListener;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
/**
* Sa-Token 自定义侦听器的实现
@@ -14,7 +14,7 @@ public class MySaTokenListener implements SaTokenListener {
/** 每次登录时触发 */
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
System.out.println("---------- 自定义侦听器实现 doLogin");
}
diff --git a/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/StpUserUtil.java b/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/StpUserUtil.java
index 1bbabcf7..f8a6c045 100644
--- a/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/StpUserUtil.java
+++ b/sa-token-demo/sa-token-demo-case/src/main/java/com/pj/satoken/StpUserUtil.java
@@ -5,7 +5,7 @@ import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.listener.SaTokenEventCenter;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.session.TokenSign;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import org.springframework.stereotype.Component;
@@ -107,10 +107,10 @@ public class StpUserUtil {
* 在当前会话写入指定 token 值
*
* @param tokenValue token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- public static void setTokenValue(String tokenValue, SaLoginModel loginModel){
- stpLogic.setTokenValue(tokenValue, loginModel);
+ public static void setTokenValue(String tokenValue, SaLoginParameter loginParameter){
+ stpLogic.setTokenValue(tokenValue, loginParameter);
}
/**
@@ -188,10 +188,10 @@ public class StpUserUtil {
* 会话登录,并指定所有登录参数 Model
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
*/
- public static void login(Object id, SaLoginModel loginModel) {
- stpLogic.login(id, loginModel);
+ public static void login(Object id, SaLoginParameter loginParameter) {
+ stpLogic.login(id, loginParameter);
}
/**
@@ -208,11 +208,11 @@ public class StpUserUtil {
* 创建指定账号 id 的登录会话数据
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回会话令牌
*/
- public static String createLoginSession(Object id, SaLoginModel loginModel) {
- return stpLogic.createLoginSession(id, loginModel);
+ public static String createLoginSession(Object id, SaLoginParameter loginParameter) {
+ return stpLogic.createLoginSession(id, loginParameter);
}
/**
diff --git a/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/satoken/StpUserUtil.java b/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/satoken/StpUserUtil.java
index 9a54330e..38670c30 100644
--- a/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/satoken/StpUserUtil.java
+++ b/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/satoken/StpUserUtil.java
@@ -4,7 +4,7 @@ import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.listener.SaTokenEventCenter;
import cn.dev33.satoken.session.SaSession;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
@@ -104,10 +104,10 @@ public class StpUserUtil {
* 在当前会话写入指定 token 值
*
* @param tokenValue token 值
- * @param loginModel 登录参数
+ * @param loginParameter 登录参数
*/
- public static void setTokenValue(String tokenValue, SaLoginModel loginModel){
- stpLogic.setTokenValue(tokenValue, loginModel);
+ public static void setTokenValue(String tokenValue, SaLoginParameter loginParameter){
+ stpLogic.setTokenValue(tokenValue, loginParameter);
}
/**
@@ -185,10 +185,10 @@ public class StpUserUtil {
* 会话登录,并指定所有登录参数 Model
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
*/
- public static void login(Object id, SaLoginModel loginModel) {
- stpLogic.login(id, loginModel);
+ public static void login(Object id, SaLoginParameter loginParameter) {
+ stpLogic.login(id, loginParameter);
}
/**
@@ -205,11 +205,11 @@ public class StpUserUtil {
* 创建指定账号 id 的登录会话数据
*
* @param id 账号id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回会话令牌
*/
- public static String createLoginSession(Object id, SaLoginModel loginModel) {
- return stpLogic.createLoginSession(id, loginModel);
+ public static String createLoginSession(Object id, SaLoginParameter loginParameter) {
+ return stpLogic.createLoginSession(id, loginParameter);
}
/**
diff --git a/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/test/TestController.java b/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/test/TestController.java
index 833b1e20..03cf82e8 100644
--- a/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/test/TestController.java
+++ b/sa-token-demo/sa-token-demo-test/src/main/java/com/pj/test/TestController.java
@@ -3,7 +3,7 @@ package com.pj.test;
import cn.dev33.satoken.annotation.SaCheckHttpDigest;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.spring.SpringMVCUtil;
-import cn.dev33.satoken.stp.SaLoginConfig;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaFoxUtil;
import cn.dev33.satoken.util.SaResult;
@@ -26,7 +26,7 @@ public class TestController {
// 测试登录 ---- http://localhost:8081/test/login
@RequestMapping("login")
public SaResult login(@RequestParam(defaultValue = "10001") long id) {
- StpUtil.login(id, SaLoginConfig.setActiveTimeout(-1));
+ StpUtil.login(id, new SaLoginParameter().setActiveTimeout(-1));
return SaResult.ok("登录成功");
}
diff --git a/sa-token-doc/api/stp-util.md b/sa-token-doc/api/stp-util.md
index 12d2be16..e5dc6a4c 100644
--- a/sa-token-doc/api/stp-util.md
+++ b/sa-token-doc/api/stp-util.md
@@ -23,15 +23,15 @@ StpUtil.getTokenInfo(); // 获取当前 Token 的详细参数。
StpUtil.login(10001); // 会话登录
StpUtil.login(10001, "APP"); // 会话登录,并指定设备类型
StpUtil.login(10001, true); // 会话登录,并指定是否 [记住我]
-StpUtil.login(10001, loginModel); // 会话登录,并指定所有登录参数Model
+StpUtil.login(10001, loginParameter); // 会话登录,并指定所有登录参数Model
StpUtil.createLoginSession(10001); // 创建指定账号id的登录会话,此方法不会将 Token 注入到上下文
-StpUtil.createLoginSession(10001, loginModel); // 创建指定账号id的登录会话,此方法不会将 Token 注入到上下文
+StpUtil.createLoginSession(10001, loginParameter); // 创建指定账号id的登录会话,此方法不会将 Token 注入到上下文
```
-SaLoginModel 配置示例:
+SaLoginParameter 配置示例:
``` java
-// SaLoginModel 配置登录相关参数
-StpUtil.login(10001, new SaLoginModel()
+// SaLoginParameter 配置登录相关参数
+StpUtil.login(10001, new SaLoginParameter()
.setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型
.setIsLastingCookie(true) // 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
.setTimeout(60 * 60 * 24 * 7) // 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的 timeout 值)
diff --git a/sa-token-doc/oauth2/oauth2-interworking.md b/sa-token-doc/oauth2/oauth2-interworking.md
index 0ca981f0..6fe61fa8 100644
--- a/sa-token-doc/oauth2/oauth2-interworking.md
+++ b/sa-token-doc/oauth2/oauth2-interworking.md
@@ -44,7 +44,7 @@ public void configOAuth2Server(SaOAuth2ServerConfig oauth2Server) {
### OAuth2-Client 数据互通
-除了Server端,Client端也可以打通 `access_token` 与 `satoken` 会话。做法是在 Client 端拿到 `access_token` 后进行登录时,使用 `SaLoginModel` 预定登录生成的 Token 值
+除了Server端,Client端也可以打通 `access_token` 与 `satoken` 会话。做法是在 Client 端拿到 `access_token` 后进行登录时,使用 `SaLoginParameter` 预定登录生成的 Token 值
``` java
// 1. 获取到access_token
diff --git a/sa-token-doc/up/global-listener.md b/sa-token-doc/up/global-listener.md
index 07790ea7..15cf4341 100644
--- a/sa-token-doc/up/global-listener.md
+++ b/sa-token-doc/up/global-listener.md
@@ -33,7 +33,7 @@ public class MySaTokenListener implements SaTokenListener {
/** 每次登录时触发 */
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
System.out.println("---------- 自定义侦听器实现 doLogin");
}
@@ -171,7 +171,7 @@ public class MySaTokenListener extends SaTokenListenerForSimple {
*/
/** 每次登录时触发 */
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
System.out.println("---------- 自定义侦听器实现 doLogin");
}
}
@@ -182,7 +182,7 @@ public class MySaTokenListener extends SaTokenListenerForSimple {
// 登录时触发
SaTokenEventCenter.registerListener(new SaTokenListenerForSimple() {
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
System.out.println("---------------- doLogin");
}
});
@@ -195,7 +195,7 @@ SaTokenEventCenter.registerListener(new SaTokenListenerForSimple() {
// 登录时触发
SaTokenEventCenter.registerListener(new SaTokenListenerForSimple() {
@Override
- public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
+ public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginParameter loginParameter) {
try {
// 不安全代码需要写在 try-catch 里
// ......
diff --git a/sa-token-doc/up/remember-me.md b/sa-token-doc/up/remember-me.md
index c177fc83..6c6f2577 100644
--- a/sa-token-doc/up/remember-me.md
+++ b/sa-token-doc/up/remember-me.md
@@ -67,11 +67,11 @@ Remember me, it's too easy!
``` java
// 示例1:
// 指定token有效期(单位: 秒),如下所示token七天有效
-StpUtil.login(10001, new SaLoginModel().setTimeout(60 * 60 * 24 * 7));
+StpUtil.login(10001, new SaLoginParameter().setTimeout(60 * 60 * 24 * 7));
// ----------------------- 示例2:所有参数
-// `SaLoginModel`为登录参数Model,其有诸多参数决定登录时的各种逻辑,例如:
-StpUtil.login(10001, new SaLoginModel()
+// `SaLoginParameter`为登录参数Model,其有诸多参数决定登录时的各种逻辑,例如:
+StpUtil.login(10001, new SaLoginParameter()
.setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型
.setIsLastingCookie(true) // 是否为持久Cookie(临时Cookie在浏览器关闭时会自动删除,持久Cookie在重新打开后依然存在)
.setTimeout(60 * 60 * 24 * 7) // 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的 timeout 值)
diff --git a/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForStateless.java b/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForStateless.java
index b12d14b2..1d376dea 100644
--- a/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForStateless.java
+++ b/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForStateless.java
@@ -22,7 +22,7 @@ import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.jwt.error.SaJwtErrorCode;
import cn.dev33.satoken.jwt.exception.SaJwtException;
import cn.dev33.satoken.listener.SaTokenEventCenter;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
@@ -102,23 +102,20 @@ public class StpLogicJwtForStateless extends StpLogic {
/**
* 创建指定账号id的登录会话
* @param id 登录id,建议的类型:(long | int | String)
- * @param loginModel 此次登录的参数Model
+ * @param loginParameter 此次登录的参数Model
* @return 返回会话令牌
*/
@Override
- public String createLoginSession(Object id, SaLoginModel loginModel) {
+ public String createLoginSession(Object id, SaLoginParameter loginParameter) {
// 1、先检查一下,传入的参数是否有效
- checkLoginArgs(id, loginModel);
+ checkLoginArgs(id, loginParameter);
- // 2、初始化 loginModel ,给一些参数补上默认值
- loginModel.build(getConfigOrGlobal());
-
// 3、生成一个token
- String tokenValue = createTokenValue(id, loginModel.getDeviceOrDefault(), loginModel.getTimeout(), loginModel.getExtraData());
+ String tokenValue = createTokenValue(id, loginParameter.getDevice(), loginParameter.getTimeout(), loginParameter.getExtraData());
// 4、$$ 发布事件:账号xxx 登录成功
- SaTokenEventCenter.doLogin(loginType, id, tokenValue, loginModel);
+ SaTokenEventCenter.doLogin(loginType, id, tokenValue, loginParameter);
// 5、返回
return tokenValue;
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/stp/TokenInfoTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/stp/TokenInfoTest.java
index f0956425..c8b2e3f1 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/stp/TokenInfoTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/stp/TokenInfoTest.java
@@ -22,7 +22,7 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import cn.dev33.satoken.stp.SaLoginConfig;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.util.SaTokenConsts;
@@ -65,7 +65,7 @@ public class TokenInfoTest {
}
@Test
- public void testLoginModel() {
+ public void testLoginParameter() {
Assertions.assertEquals(SaLoginConfig.setDevice("PC").getDevice(), "PC");
Assertions.assertEquals(SaLoginConfig.setIsLastingCookie(false).getIsLastingCookie(), false);
Assertions.assertEquals(SaLoginConfig.setTimeout(1600).getTimeout(), 1600);
@@ -74,19 +74,19 @@ public class TokenInfoTest {
Map extraData = new HashMap<>();
extraData.put("age", 20);
- SaLoginModel lm = SaLoginConfig.setExtraData(extraData);
+ SaLoginParameter lm = SaLoginConfig.setExtraData(extraData);
Assertions.assertEquals(lm.getExtraData(), extraData);
Assertions.assertEquals(lm.getExtra("age"), 20);
Assertions.assertTrue(lm.isSetExtraData());
Assertions.assertNotNull(lm.toString());
// 计算 CookieTimeout
- SaLoginModel loginModel = SaLoginModel
+ SaLoginParameter loginParameter = SaLoginParameter
.create()
.setTimeout(-1);
- loginModel.build();
- Assertions.assertEquals(loginModel.getCookieTimeout(), Integer.MAX_VALUE);
- Assertions.assertEquals(loginModel.getDeviceOrDefault(), SaTokenConsts.DEFAULT_LOGIN_DEVICE);
+ loginParameter.build();
+ Assertions.assertEquals(loginParameter.getCookieTimeout(), Integer.MAX_VALUE);
+ Assertions.assertEquals(loginParameter.getDeviceOrDefault(), SaTokenConsts.DEFAULT_LOGIN_DEVICE);
}
}
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
index 719e83b4..e6242b1f 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
@@ -26,7 +26,7 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.spring.SpringMVCUtil;
import cn.dev33.satoken.spring.pathmatch.SaPathMatcherHolder;
import cn.dev33.satoken.stp.SaLoginConfig;
-import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.SaLoginParameter;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaTokenConsts;
@@ -646,7 +646,7 @@ public class BasicsTest {
@Test
public void testDoLoginBySetToken() {
// 预定 Token 登录
- StpUtil.login(10001, new SaLoginModel().setToken("qwer-qwer-qwer-qwer"));
+ StpUtil.login(10001, new SaLoginParameter().setToken("qwer-qwer-qwer-qwer"));
Assertions.assertEquals(StpUtil.getTokenValue(), "qwer-qwer-qwer-qwer");
// 注销后,应该清除Token
@@ -663,7 +663,7 @@ public class BasicsTest {
Assertions.assertNull(StpUtil.getTokenValue());
// 无上下文注入的登录
- String token = StpUtil.createLoginSession(10001, new SaLoginModel());
+ String token = StpUtil.createLoginSession(10001, new SaLoginParameter());
Assertions.assertNull(StpUtil.getTokenValue());
// 手动写入