修复多账号模式下不能正确重置 StpLogic 的问题

This commit is contained in:
click33 2022-08-08 02:47:37 +08:00
parent 83ce6fcfd3
commit 42272c83b6
4 changed files with 34 additions and 18 deletions

View File

@ -236,7 +236,7 @@ public class SaManager {
return StpUtil.stpLogic;
}
// SaManager中获取
// stpLogicMap 中获取
StpLogic stpLogic = stpLogicMap.get(loginType);
if(stpLogic == null) {
/*

View File

@ -32,12 +32,18 @@ public class StpUtil {
/**
* 重置 StpLogic 对象
* @param stpLogic /
* <br> 1更改此账户的 StpLogic 对象
* <br> 2put 到全局 StpLogic 集合中
*
* @param newStpLogic /
*/
public static void setStpLogic(StpLogic stpLogic) {
StpUtil.stpLogic = stpLogic;
// 防止自定义 stpLogic 被覆盖
SaManager.putStpLogic(stpLogic);
public static void setStpLogic(StpLogic newStpLogic) {
// 重置此账户的 StpLogic 对象
stpLogic = newStpLogic;
// 添加到全局 StpLogic 集合中
// 以便可以通过 SaManager.getStpLogic(type) 的方式来全局获取到这个 StpLogic
SaManager.putStpLogic(newStpLogic);
}

View File

@ -8,7 +8,6 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
/**
* Sa-Token 权限认证工具类 (user版)
@ -36,12 +35,18 @@ public class StpUserUtil {
/**
* 重置 StpLogic 对象
* @param stpLogic /
* <br> 1更改此账户的 StpLogic 对象
* <br> 2put 到全局 StpLogic 集合中
*
* @param newStpLogic /
*/
public static void setStpLogic(StpLogic stpLogic) {
StpUtil.stpLogic = stpLogic;
// 防止自定义 stpLogic 被覆盖
SaManager.putStpLogic(stpLogic);
public static void setStpLogic(StpLogic newStpLogic) {
// 重置此账户的 StpLogic 对象
stpLogic = newStpLogic;
// 添加到全局 StpLogic 集合中
// 以便可以通过 SaManager.getStpLogic(type) 的方式来全局获取到这个 StpLogic
SaManager.putStpLogic(newStpLogic);
}

View File

@ -8,7 +8,6 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
/**
* Sa-Token 权限认证工具类 (user版)
@ -36,12 +35,18 @@ public class StpUserUtil {
/**
* 重置 StpLogic 对象
* @param stpLogic /
* <br> 1更改此账户的 StpLogic 对象
* <br> 2put 到全局 StpLogic 集合中
*
* @param newStpLogic /
*/
public static void setStpLogic(StpLogic stpLogic) {
StpUtil.stpLogic = stpLogic;
// 防止自定义 stpLogic 被覆盖
SaManager.putStpLogic(stpLogic);
public static void setStpLogic(StpLogic newStpLogic) {
// 重置此账户的 StpLogic 对象
stpLogic = newStpLogic;
// 添加到全局 StpLogic 集合中
// 以便可以通过 SaManager.getStpLogic(type) 的方式来全局获取到这个 StpLogic
SaManager.putStpLogic(newStpLogic);
}