From ba640295c53a7cf5e58acd58c1fe84c222b90d66 Mon Sep 17 00:00:00 2001
From: shengzhang <2393584716@qq.com>
Date: Tue, 12 Jan 2021 01:01:23 +0800
Subject: [PATCH] =?UTF-8?q?v1.12.0=20=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 5 +++--
pom.xml | 2 +-
sa-token-core/pom.xml | 2 +-
.../main/java/cn/dev33/satoken/stp/StpLogic.java | 15 ++++++++++-----
.../main/java/cn/dev33/satoken/stp/StpUtil.java | 6 ++++--
.../java/cn/dev33/satoken/util/SaTokenConsts.java | 2 +-
sa-token-dao-redis-jackson/pom.xml | 4 ++--
sa-token-dao-redis/pom.xml | 4 ++--
sa-token-demo-jwt/pom.xml | 8 ++++----
.../java/com/pj/satoken/jwt/SaTokenJwtUtil.java | 2 +-
sa-token-demo-springboot/pom.xml | 8 ++++----
.../main/java/com/pj/SaTokenDemoApplication.java | 1 -
sa-token-doc/doc/README.md | 5 +++--
sa-token-doc/doc/index.html | 3 ++-
sa-token-doc/doc/more/update-log.md | 8 ++++++++
sa-token-doc/doc/start/download.md | 7 ++++++-
sa-token-doc/doc/start/example.md | 2 +-
sa-token-doc/doc/use/at-check.md | 2 +-
sa-token-doc/doc/use/dao-extend.md | 4 ++--
sa-token-doc/index.html | 2 +-
sa-token-spring-aop/pom.xml | 4 ++--
sa-token-spring-boot-starter/pom.xml | 4 ++--
.../satoken/interceptor/SaRouteInterceptor.java | 4 ++--
23 files changed, 63 insertions(+), 41 deletions(-)
diff --git a/README.md b/README.md
index bbbe54c3..9bbadb78 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
-sa-token v1.11.0
+sa-token v1.12.0
这可能是史上功能最全的Java权限认证框架!
-
+
@@ -71,6 +71,7 @@ StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session
StpUtil.getTokenValueByLoginId(10001); // 获取账号id为10001的token令牌值
StpUtil.setLoginId(10001, "PC"); // 指定设备标识登录
StpUtil.logoutByLoginId(10001, "PC"); // 指定设备标识进行强制注销 (不同端不受影响)
+StpUtil.switchTo(10044); // 将当前会话身份临时切换为其它账号
```
sa-token的API众多,请恕此处无法为您逐一展示,更多示例请戳官方在线文档
diff --git a/pom.xml b/pom.xml
index 0bca6349..b994fa2f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
cn.dev33
sa-token-parent
pom
- 1.11.0
+ 1.12.0
sa-token
diff --git a/sa-token-core/pom.xml b/sa-token-core/pom.xml
index 594da863..c36d793d 100644
--- a/sa-token-core/pom.xml
+++ b/sa-token-core/pom.xml
@@ -7,7 +7,7 @@
cn.dev33
sa-token-parent
- 1.11.0
+ 1.12.0
jar
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 89a7441d..34ab94d0 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
@@ -95,8 +95,8 @@ public class StpLogic {
String tokenValue = null;
// 1. 尝试从request里读取
- if(request.getAttribute(getJustCreatedSaveKey()) != null) {
- tokenValue = String.valueOf(request.getAttribute(getJustCreatedSaveKey()));
+ if(request.getAttribute(getKeyJustCreatedSave()) != null) {
+ tokenValue = String.valueOf(request.getAttribute(getKeyJustCreatedSave()));
}
// 2. 尝试从请求体里面读取
if(tokenValue == null && config.getIsReadBody() == true){
@@ -201,7 +201,7 @@ public class StpLogic {
// ------ 4. 持久化其它数据
dao.setValue(getKeyTokenValue(tokenValue), String.valueOf(loginId), config.getTimeout()); // token -> uid
- request.setAttribute(getJustCreatedSaveKey(), tokenValue); // 将token保存到本次request里
+ request.setAttribute(getKeyJustCreatedSave(), tokenValue); // 将token保存到本次request里
setLastActivityToNow(tokenValue); // 写入 [最后操作时间]
if(config.getIsReadCookie() == true){ // cookie注入
SaTokenManager.getSaTokenCookie().addCookie(SaTokenManager.getSaTokenServlet().getResponse(), getTokenName(), tokenValue, "/", (int)config.getTimeout());
@@ -554,7 +554,7 @@ public class StpLogic {
if(tokenValue == null || Objects.equals(tokenValue, "")) {
// 随机一个token送给ta
tokenValue = createTokenValue(null);
- SaTokenManager.getSaTokenServlet().getRequest().setAttribute(getJustCreatedSaveKey(), tokenValue);
+ SaTokenManager.getSaTokenServlet().getRequest().setAttribute(getKeyJustCreatedSave(), tokenValue);
setLastActivityToNow(tokenValue); // 写入 [最后操作时间]
if(getConfig().getIsReadCookie() == true){ // cookie注入
SaTokenManager.getSaTokenCookie().addCookie(SaTokenManager.getSaTokenServlet().getResponse(), getTokenName(), tokenValue, "/", (int)getConfig().getTimeout());
@@ -1059,6 +1059,7 @@ public class StpLogic {
/**
* 在进行身份切换时,使用的存储key
+ * @return key
*/
public String getKeySwitch() {
return SaTokenConsts.SWITCH_TO_SAVE_KEY + getLoginKey();
@@ -1066,8 +1067,9 @@ public class StpLogic {
/**
* 如果token为本次请求新创建的,则以此字符串为key存储在当前request中
+ * @return key
*/
- public String getJustCreatedSaveKey() {
+ public String getKeyJustCreatedSave() {
return SaTokenConsts.JUST_CREATED_SAVE_KEY + getLoginKey();
}
@@ -1164,6 +1166,7 @@ public class StpLogic {
/**
* 当前是否正处于[身份临时切换]中
+ * @return 是否正处于[身份临时切换]中
*/
public boolean isSwitch() {
return SaTokenManager.getSaTokenServlet().getRequest().getAttribute(getKeySwitch()) != null;
@@ -1171,6 +1174,7 @@ public class StpLogic {
/**
* 返回[身份临时切换]的loginId
+ * @return 返回[身份临时切换]的loginId
*/
public Object getSwitchLoginId() {
return SaTokenManager.getSaTokenServlet().getRequest().getAttribute(getKeySwitch());
@@ -1179,6 +1183,7 @@ public class StpLogic {
/**
* 在一个代码段里方法内,临时切换身份为指定loginId
* @param loginId 指定loginId
+ * @param function 要执行的方法
*/
public void switchTo(Object loginId, SaFunction function) {
try {
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 6e9219ca..58376288 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
@@ -506,14 +506,16 @@ public class StpUtil {
/**
* 当前是否正处于[身份临时切换]中
+ * @return 是否正处于[身份临时切换]中
*/
public static boolean isSwitch() {
return stpLogic.isSwitch();
}
-
+
/**
- * 在一个代码段里方法内,临时切换身份为指定loginId
+ * 在一个代码段里方法内,临时切换身份为指定loginId
* @param loginId 指定loginId
+ * @param function 要执行的方法
*/
public static void switchTo(Object loginId, SaFunction function) {
stpLogic.switchTo(loginId, function);
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
index ea2efb25..585859f3 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenConsts.java
@@ -10,7 +10,7 @@ public class SaTokenConsts {
/**
* sa-token 版本号
*/
- public static final String VERSION_NO = "v1.11.0";
+ public static final String VERSION_NO = "v1.12.0";
/**
* sa-token 开源地址
diff --git a/sa-token-dao-redis-jackson/pom.xml b/sa-token-dao-redis-jackson/pom.xml
index 7e09a657..5140feed 100644
--- a/sa-token-dao-redis-jackson/pom.xml
+++ b/sa-token-dao-redis-jackson/pom.xml
@@ -7,7 +7,7 @@
cn.dev33
sa-token-parent
- 1.11.0
+ 1.12.0
jar
@@ -20,7 +20,7 @@
cn.dev33
sa-token-spring-boot-starter
- 1.11.0
+ 1.12.0
diff --git a/sa-token-dao-redis/pom.xml b/sa-token-dao-redis/pom.xml
index edd7b7ba..80ed5360 100644
--- a/sa-token-dao-redis/pom.xml
+++ b/sa-token-dao-redis/pom.xml
@@ -7,7 +7,7 @@
cn.dev33
sa-token-parent
- 1.11.0
+ 1.12.0
jar
@@ -20,7 +20,7 @@
cn.dev33
sa-token-spring-boot-starter
- 1.11.0
+ 1.12.0
diff --git a/sa-token-demo-jwt/pom.xml b/sa-token-demo-jwt/pom.xml
index 9f45cdd1..028ab206 100644
--- a/sa-token-demo-jwt/pom.xml
+++ b/sa-token-demo-jwt/pom.xml
@@ -29,7 +29,7 @@
cn.dev33
sa-token-spring-boot-starter
- 1.11.0
+ 1.12.0
@@ -43,14 +43,14 @@
@@ -63,7 +63,7 @@
diff --git a/sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java b/sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
index 8bf0161b..adf1eb96 100644
--- a/sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
+++ b/sa-token-demo-jwt/src/main/java/com/pj/satoken/jwt/SaTokenJwtUtil.java
@@ -128,7 +128,7 @@ public class SaTokenJwtUtil {
SaTokenConfig config = getConfig();
// ------ 2、生成一个token
String tokenValue = createTokenValue(loginId);
- request.setAttribute(SaTokenConsts.JUST_CREATED_SAVE_KEY, tokenValue); // 将token保存到本次request里
+ request.setAttribute(getKeyJustCreatedSave(), tokenValue); // 将token保存到本次request里
if(config.getIsReadCookie() == true){ // cookie注入
SaTokenManager.getSaTokenCookie().addCookie(SaTokenManager.getSaTokenServlet().getResponse(), getTokenName(), tokenValue, "/", (int)config.getTimeout());
}
diff --git a/sa-token-demo-springboot/pom.xml b/sa-token-demo-springboot/pom.xml
index 13a099c6..0ee8666f 100644
--- a/sa-token-demo-springboot/pom.xml
+++ b/sa-token-demo-springboot/pom.xml
@@ -29,21 +29,21 @@
cn.dev33
sa-token-spring-boot-starter
- 1.11.0
+ 1.12.0
@@ -56,7 +56,7 @@
diff --git a/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java b/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java
index 0d590e86..61e902b8 100644
--- a/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java
+++ b/sa-token-demo-springboot/src/main/java/com/pj/SaTokenDemoApplication.java
@@ -11,7 +11,6 @@ public class SaTokenDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SaTokenDemoApplication.class, args);
System.out.println("\n启动成功:sa-token配置如下:" + SaTokenManager.getConfig());
-
}
}
\ No newline at end of file
diff --git a/sa-token-doc/doc/README.md b/sa-token-doc/doc/README.md
index bbbe54c3..9bbadb78 100644
--- a/sa-token-doc/doc/README.md
+++ b/sa-token-doc/doc/README.md
@@ -1,11 +1,11 @@
-sa-token v1.11.0
+sa-token v1.12.0
这可能是史上功能最全的Java权限认证框架!
-
+
@@ -71,6 +71,7 @@ StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的Session
StpUtil.getTokenValueByLoginId(10001); // 获取账号id为10001的token令牌值
StpUtil.setLoginId(10001, "PC"); // 指定设备标识登录
StpUtil.logoutByLoginId(10001, "PC"); // 指定设备标识进行强制注销 (不同端不受影响)
+StpUtil.switchTo(10044); // 将当前会话身份临时切换为其它账号
```
sa-token的API众多,请恕此处无法为您逐一展示,更多示例请戳官方在线文档
diff --git a/sa-token-doc/doc/index.html b/sa-token-doc/doc/index.html
index e5614bc5..7166aaa9 100644
--- a/sa-token-doc/doc/index.html
+++ b/sa-token-doc/doc/index.html
@@ -22,6 +22,7 @@