From 1c40baaf9ca0183945b9881d11ceed5aeebc8290 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 11:35:44 +0800
Subject: [PATCH] 修改bug
---
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.java | 21 ++++++++++++++-------
1 files changed, 14 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..7230d69 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,16 +15,18 @@
*/
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;
import com.stylefeng.guns.core.util.SpringContextHolder;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
@@ -34,19 +36,24 @@
@DependsOn("springContextHolder")
@Transactional(readOnly = true)
public class PermissionCheckFactory implements ICheck {
-
+ @Autowired
+ 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 +62,7 @@
@Override
public boolean checkAll() {
HttpServletRequest request = HttpKit.getRequest();
- ShiroUser user = ShiroKit.getUser();
+ ShiroUser user = shiroExtUtil.getUser();
if (null == user) {
return false;
}
@@ -64,7 +71,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