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/SaLoginModel.java index 0e32823d..1813890f 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/SaLoginModel.java @@ -93,6 +93,16 @@ public class SaLoginModel { return timeout; } + /** + * @return timeout 值 (如果此配置项尚未配置,则取全局配置的值) + */ + public Long getTimeoutOrGlobalConfig() { + if(timeout == null) { + timeout = SaManager.getConfig().getTimeout(); + } + return timeout; + } + /** * @param timeout 指定此次登录token的有效期, 单位:秒 (如未指定,自动取全局配置的timeout值) * @return 对象自身 @@ -142,11 +152,11 @@ public class SaLoginModel { } /** - * @return 是否在登录后将 Token 写入到响应头 + * @return 是否在登录后将 Token 写入到响应头 (如果此配置项尚未配置,则取全局配置的值) */ - public Boolean getIsWriteHeaderOrFalse() { + public Boolean getIsWriteHeaderOrGlobalConfig() { if(isWriteHeader == null) { - return false; + isWriteHeader = SaManager.getConfig().getIsWriteHeader(); } return isWriteHeader; } @@ -222,8 +232,7 @@ public class SaLoginModel { if(getIsLastingCookieOrFalse() == false) { return -1; } - initTimeout(); - if(timeout == SaTokenDao.NEVER_EXPIRE) { + if(getTimeoutOrGlobalConfig() == SaTokenDao.NEVER_EXPIRE) { return Integer.MAX_VALUE; } return (int)(long)timeout; @@ -239,15 +248,6 @@ public class SaLoginModel { return device; } - /** - * 初始化 timeout 值 (如果尚未配置timeout,则取全局配置的值) - */ - public void initTimeout() { - if(timeout == null) { - timeout = SaManager.getConfig().getTimeout(); - } - } - /** * 构建对象,初始化默认值 * @return 对象自身 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 af308f0e..81f2dc87 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 @@ -135,7 +135,7 @@ public class StpLogic { } // 3. 将 Token 写入到响应头里 - if(loginModel.getIsWriteHeaderOrFalse()) { + if(loginModel.getIsWriteHeaderOrGlobalConfig()) { setTokenValueToResponseHeader(tokenValue); } }