From 5dacdee9b54c78372b68140e2b068d03a620eab9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 02 七月 2025 19:00:52 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java
index 89f602f..d0e9f70 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java
@@ -15,8 +15,8 @@
  */
 package com.stylefeng.guns.core.shiro.check;
 
+import com.stylefeng.guns.core.beetl.ShiroExtUtil;
 import com.stylefeng.guns.core.listener.ConfigListener;
-import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.support.CollectionKit;
 import com.stylefeng.guns.core.support.HttpKit;
@@ -25,6 +25,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 /**
@@ -34,19 +35,24 @@
 @DependsOn("springContextHolder")
 @Transactional(readOnly = true)
 public class PermissionCheckFactory implements ICheck {
-
+    @Resource
+    private ShiroExtUtil shiroExtUtil;
+    
     public static ICheck me() {
         return SpringContextHolder.getBean(ICheck.class);
     }
-
+    
     @Override
     public boolean check(Object[] permissions) {
-        ShiroUser user = ShiroKit.getUser();
+        ShiroUser user = shiroExtUtil.getUser();
         if (null == user) {
             return false;
         }
+        if (user.isAdmin()) {
+            return true;
+        }
         String join = CollectionKit.join(permissions, ",");
-        if (ShiroKit.hasAnyRoles(join)) {
+        if (shiroExtUtil.hasAnyRoles(join)) {
             return true;
         }
         return false;
@@ -55,7 +61,7 @@
     @Override
     public boolean checkAll() {
         HttpServletRequest request = HttpKit.getRequest();
-        ShiroUser user = ShiroKit.getUser();
+        ShiroUser user = shiroExtUtil.getUser();
         if (null == user) {
             return false;
         }
@@ -64,7 +70,7 @@
         if (str.length > 3) {
             requestURI = "/" + str[1] + "/" + str[2];
         }
-        if (ShiroKit.hasPermission(requestURI)) {
+        if (shiroExtUtil.hasPermission(requestURI)) {
             return true;
         }
         return false;

--
Gitblit v1.7.1