From 1559406ece736cb81028946ad19efe8563f196da Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Wed, 16 Jun 2021 17:28:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=B1=BB=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/dev33/satoken/SaManager.java | 2 +- .../dev33/satoken/config/SaTokenConfig.java | 54 ++++++++++++------ .../cn/dev33/satoken/stp/SaLoginModel.java | 2 +- .../java/cn/dev33/satoken/stp/StpLogic.java | 56 +++++++++---------- .../java/cn/dev33/satoken/stp/StpUtil.java | 40 ++++++------- .../java/com/pj/SaTokenDemoApplication.java | 1 + .../src/main/resources/application.yml | 4 +- sa-token-doc/doc/more/common-questions.md | 2 +- 8 files changed, 92 insertions(+), 69 deletions(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java b/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java index 2ea7a1e2..be721295 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/SaManager.java @@ -35,7 +35,7 @@ public class SaManager { private static SaTokenConfig config; public static void setConfig(SaTokenConfig config) { SaManager.config = config; - if(config.getIsV()) { + if(config.getIsPrint()) { SaFoxUtil.printSaToken(); } // 调用一次StpUtil中的方法,保证其可以尽早的初始化 StpLogic diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java index b2c45e67..3d811e16 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java @@ -23,7 +23,7 @@ public class SaTokenConfig { private long activityTimeout = -1; /** 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) */ - private Boolean allowConcurrentLogin = true; + private Boolean isConcurrent = true; /** 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) */ private Boolean isShare = true; @@ -56,7 +56,7 @@ public class SaTokenConfig { private String tokenPrefix; /** 是否在初始化配置时打印版本字符画 */ - private Boolean isV = true; + private Boolean isPrint = true; /** 是否打印操作日志 */ private Boolean isLog = false; @@ -118,18 +118,18 @@ public class SaTokenConfig { } /** - * @return 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) + * @return 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) */ - public Boolean getAllowConcurrentLogin() { - return allowConcurrentLogin; + public Boolean getIsConcurrent() { + return isConcurrent; } /** - * @param allowConcurrentLogin 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) + * @param isConcurrent 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) * @return 对象自身 */ - public SaTokenConfig setAllowConcurrentLogin(Boolean allowConcurrentLogin) { - this.allowConcurrentLogin = allowConcurrentLogin; + public SaTokenConfig setIsConcurrent(Boolean isConcurrent) { + this.isConcurrent = isConcurrent; return this; } @@ -298,16 +298,16 @@ public class SaTokenConfig { /** * @return 是否在初始化配置时打印版本字符画 */ - public Boolean getIsV() { - return isV; + public Boolean getIsPrint() { + return isPrint; } /** - * @param isV 是否在初始化配置时打印版本字符画 + * @param isPrint 是否在初始化配置时打印版本字符画 * @return 对象自身 */ - public SaTokenConfig setIsV(Boolean isV) { - this.isV = isV; + public SaTokenConfig setIsPrint(Boolean isPrint) { + this.isPrint = isPrint; return this; } @@ -349,16 +349,36 @@ public class SaTokenConfig { @Override public String toString() { return "SaTokenConfig [tokenName=" + tokenName + ", timeout=" + timeout + ", activityTimeout=" + activityTimeout - + ", allowConcurrentLogin=" + allowConcurrentLogin + ", isShare=" + isShare + ", isReadBody=" + + ", isConcurrent=" + isConcurrent + ", isShare=" + isShare + ", isReadBody=" + isReadBody + ", isReadHead=" + isReadHead + ", isReadCookie=" + isReadCookie + ", tokenStyle=" + tokenStyle + ", dataRefreshPeriod=" + dataRefreshPeriod + ", tokenSessionCheckLogin=" + tokenSessionCheckLogin + ", autoRenew=" + autoRenew + ", cookieDomain=" + cookieDomain - + ", tokenPrefix=" + tokenPrefix + ", isV=" + isV + ", isLog=" + isLog + ", jwtSecretKey=" + + ", tokenPrefix=" + tokenPrefix + ", isPrint=" + isPrint + ", isLog=" + isLog + ", jwtSecretKey=" + jwtSecretKey + "]"; } - - + /** + *
当对方再次访问系统时,会抛出NotLoginException异常,场景值=-2 * @param loginId 账号id */ @@ -336,7 +336,7 @@ public class StpLogic { } /** - * 指定loginId指定设备的会话注销登录(踢人下线) + * 指定账号id指定设备的会话注销登录(踢人下线) *
当对方再次访问系统时,会抛出NotLoginException异常,场景值=-2 * @param loginId 账号id * @param device 设备标识 (填null代表所有注销设备) 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 3143f151..8cf4b464 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 @@ -6,7 +6,7 @@ import cn.dev33.satoken.fun.SaFunction; import cn.dev33.satoken.session.SaSession; /** - * Sa-Token 权限验证, 工具类 + * Sa-Token 权限验证工具类 * @author kong */ public class StpUtil { @@ -69,38 +69,38 @@ public class StpUtil { // =================== 登录相关操作 =================== /** - * 在当前会话上登录id - * @param loginId 登录id,建议的类型:(long | int | String) + * 会话登录 + * @param id 账号id,建议的类型:(long | int | String) */ - public static void login(Object loginId) { - stpLogic.login(loginId); + public static void login(Object id) { + stpLogic.login(id); } /** - * 在当前会话上登录id, 并指定登录设备 - * @param loginId 登录id,建议的类型:(long | int | String) + * 会话登录,并指定登录设备 + * @param id 账号id,建议的类型:(long | int | String) * @param device 设备标识 */ - public static void login(Object loginId, String device) { - stpLogic.login(loginId, device); + public static void login(Object id, String device) { + stpLogic.login(id, device); } /** - * 在当前会话上登录id, 并指定登录设备 - * @param loginId 登录id,建议的类型:(long | int | String) + * 会话登录,并指定是否 [记住我] + * @param id 账号id,建议的类型:(long | int | String) * @param isLastingCookie 是否为持久Cookie */ - public static void login(Object loginId, boolean isLastingCookie) { - stpLogic.login(loginId, isLastingCookie); + public static void login(Object id, boolean isLastingCookie) { + stpLogic.login(id, isLastingCookie); } - + /** - * 在当前会话上登录id, 并指定所有登录参数Model - * @param loginId 登录id,建议的类型:(long | int | String) + * 会话登录,并指定所有登录参数Model + * @param id 登录id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model */ - public static void login(Object loginId, SaLoginModel loginModel) { - stpLogic.login(loginId, loginModel); + public static void login(Object id, SaLoginModel loginModel) { + stpLogic.login(id, loginModel); } /** @@ -119,7 +119,7 @@ public class StpUtil { } /** - * 指定loginId的会话注销登录(踢人下线) + * 指定账号id的会话注销登录(踢人下线) *
当对方再次访问系统时,会抛出NotLoginException异常,场景值=-2 * @param loginId 账号id */ @@ -128,7 +128,7 @@ public class StpUtil { } /** - * 指定loginId指定设备的会话注销登录(踢人下线) + * 指定账号id指定设备的会话注销登录(踢人下线) *
当对方再次访问系统时,会抛出NotLoginException异常,场景值=-2 * @param loginId 账号id * @param device 设备标识 diff --git a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java index 03529d66..cec8462e 100644 --- a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java +++ b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java @@ -16,6 +16,7 @@ public class SaTokenDemoApplication { public static void main(String[] args) { SpringApplication.run(SaTokenDemoApplication.class, args); System.out.println("\n启动成功:sa-token配置如下:" + SaManager.getConfig()); + System.out.println("\n启动成功:sa-token配置如下:" + SaManager.getConfig().getIsConcurrent()); } } \ No newline at end of file diff --git a/sa-token-demo/sa-token-demo-springboot/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-springboot/src/main/resources/application.yml index f0f28870..549e98b2 100644 --- a/sa-token-demo/sa-token-demo-springboot/src/main/resources/application.yml +++ b/sa-token-demo/sa-token-demo-springboot/src/main/resources/application.yml @@ -12,7 +12,7 @@ spring: # token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 activity-timeout: -1 # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) - allow-concurrent-login: true + is-concurrent: false # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) is-share: true # token风格 @@ -20,6 +20,8 @@ spring: # 是否输出操作日志 is-log: false + is-print: false + # redis配置 redis: # Redis数据库索引(默认为0) diff --git a/sa-token-doc/doc/more/common-questions.md b/sa-token-doc/doc/more/common-questions.md index b2106b83..60d0e217 100644 --- a/sa-token-doc/doc/more/common-questions.md +++ b/sa-token-doc/doc/more/common-questions.md @@ -13,7 +13,7 @@ ### 登录方法需要我自己实现吗? -是的,不同于`shiro`等框架,`sa-token`不会在登录流程中强插一脚,开发者比对完用户的账号和密码之后,只需要调用`StpUtil.setLogin(id)`通知一下框架即可 +是的,不同于`shiro`等框架,`sa-token`不会在登录流程中强插一脚,开发者比对完用户的账号和密码之后,只需要调用`StpUtil.login(id)`通知一下框架即可 ### 一个User对象存进Session后,再取出来时报错:无法从User类型转换成User类型?