From 4d7a208f388e42e7dd83dab0e38eadfa0847de1c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 11 十二月 2024 19:24:10 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java | 25 ++++++++++++++++++++++++- 1 files changed, 24 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..e3f0a35 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)) @@ -171,6 +187,9 @@ public void checkPermiOr(String... permissions) { Set<String> permissionList = getPermiList(); + if(null == permissionList){ + return; + } for (String permission : permissions) { if (hasPermi(permissionList, permission)) @@ -337,6 +356,10 @@ try { LoginUser loginUser = getLoginUser(); + String userType = loginUser.getUserType(); + if(null != userType && "applet".equals(userType)){ + return null; + } return loginUser.getPermissions(); } catch (Exception e) -- Gitblit v1.7.1