Переглянути джерело

修复APP用户登录权限

Mure 5 місяців тому
батько
коміт
13819405cd

+ 0 - 3
src/main/java/com/backendsys/modules/app/service/impl/AppAuthServiceImpl.java

@@ -110,9 +110,6 @@ public class AppAuthServiceImpl implements AppAuthService {
 
         // 生成 Token
         SecurityAppUserInfo securityUserInfo = JSONUtil.toBean(JSONUtil.parseObj(appUser), SecurityAppUserInfo.class);
-
-        System.out.println("securityUserInfo = " + securityUserInfo);
-
         String token = jwtUtil.createAppJwtToken(securityUserInfo);
         String token_redis_key = REDIS_LOGIN_TOKEN_PREFIX + uuid;
         appUser.setToken(token);

+ 4 - 15
src/main/java/com/backendsys/modules/common/aspect/AppUserLoginAspect.java

@@ -27,23 +27,12 @@ public class AppUserLoginAspect {
     public void checkLogin() {}
 
     @Before("checkLogin()")
-    public void doCheckLogin(JoinPoint joinPoint) throws Throwable {
-        // 获取请求信息
-        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-
-//        // 获取Token
-//        String token = request.getHeader("Authorization");
-//        System.out.println("(AppUserLoginAspect) token = " + token);
-//        jwtUtil.extractAllClaims(token);
-        SecurityAppUserInfo userInfo = SecurityUtil.getAppUserInfo();
-        String tokenRole = Convert.toStr(userInfo.getRole());
+    public void doCheckLogin(JoinPoint joinPoint) {
+        SecurityAppUserInfo securityAppUserInfo = SecurityUtil.getAppUserInfo();
+        String tokenRole = Convert.toStr(securityAppUserInfo.getRole());
         if (!"APP_USER".equals(tokenRole)) {
             throw new CustException("当前接口与 Token 的类型不匹配");
         }
-        System.out.println(userInfo);
-
-//        if (token == null) throw new CustException("未登录或Token无效");
-
-
+        System.out.println(securityAppUserInfo);
     }
 }

+ 4 - 2
src/main/java/com/backendsys/modules/common/config/security/utils/SecurityUtil.java

@@ -102,7 +102,9 @@ public class SecurityUtil {
      */
     public static Boolean isSuper() {
         SecurityUserInfo userInfo = getUserInfo();
-        return userInfo.getIs_super() == 1;
+        System.out.println(userInfo);
+        return (userInfo != null && userInfo.getIs_super() != null) ?
+                (userInfo.getIs_super() == 1) : false;
     }
 
 //    public static Boolean hasPermission(String permission) {
@@ -130,7 +132,7 @@ public class SecurityUtil {
     public Boolean hasPermission(String permission) {
         if (isSuper()) return true;
         List<String> permission_ids = getPermissionIds();
-        return permission_ids.contains(permission);
+        return permission_ids != null ? permission_ids.contains(permission) : false;
     }
 
     /**