From 52d5c9930a199430d0f524e24e85eb65e09514c9 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 13 二月 2025 08:57:43 +0800
Subject: [PATCH] bug修改
---
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java
index fa04637..2cde5b4 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java
@@ -3,6 +3,12 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
+
+import com.ruoyi.common.core.utils.JwtUtils;
+import com.ruoyi.common.security.handler.GlobalExceptionHandler;
+import io.jsonwebtoken.Claims;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.util.PatternMatchUtils;
import com.ruoyi.common.core.context.SecurityContextHolder;
import com.ruoyi.common.core.exception.auth.NotLoginException;
@@ -25,6 +31,7 @@
*/
public class AuthLogic
{
+ private static final Logger log = LoggerFactory.getLogger(AuthLogic.class);
/** 所有权限标识 */
private static final String ALL_PERMISSION = "*:*:*";
@@ -74,11 +81,17 @@
{
throw new NotLoginException("未提供token");
}
+ Claims claims = JwtUtils.parseToken(token);
+ String userType = JwtUtils.getUserType(claims);
LoginUser loginUser = SecurityUtils.getLoginUser();
- if (loginUser == null)
+ if (loginUser == null && "system".equals(userType))
{
throw new NotLoginException("无效的token");
}
+ if(loginUser == null && "applet".equals(userType)){
+ loginUser = new LoginUser();
+ }
+ loginUser.setUserType(userType);
return loginUser;
}
@@ -154,6 +167,9 @@
public void checkPermiAnd(String... permissions)
{
Set<String> permissionList = getPermiList();
+ if(null == permissionList || permissionList.size() == 0){
+ return;
+ }
for (String permission : permissions)
{
if (!hasPermi(permissionList, permission))
@@ -337,6 +353,9 @@
try
{
LoginUser loginUser = getLoginUser();
+ if(null == loginUser.getPermissions()){
+ return new HashSet<>();
+ }
return loginUser.getPermissions();
}
catch (Exception e)
--
Gitblit v1.7.1