From 3b2c1577ff4b83607cd326b55f3cd985002967b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com>
Date: Fri, 17 Dec 2021 21:59:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E8=A7=92=E8=89=B2=E6=9D=83?=
=?UTF-8?q?=E9=99=90=E6=96=B0=E5=A2=9E=E5=8A=A0=E7=AE=A1=E7=90=86=E5=91=98?=
=?UTF-8?q?=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Infrastructure/GlobalConstant.cs | 4 ++++
ZR.Admin.WebApi/Filters/ActionPermissionFilter.cs | 7 ++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Infrastructure/GlobalConstant.cs b/Infrastructure/GlobalConstant.cs
index 6139938..900c53f 100644
--- a/Infrastructure/GlobalConstant.cs
+++ b/Infrastructure/GlobalConstant.cs
@@ -13,5 +13,9 @@ namespace Infrastructure
/// 管理员权限
///
public static string AdminPerm = "*:*:*";
+ ///
+ /// 管理员角色
+ ///
+ public static string AdminRole = "admin";
}
}
diff --git a/ZR.Admin.WebApi/Filters/ActionPermissionFilter.cs b/ZR.Admin.WebApi/Filters/ActionPermissionFilter.cs
index a677859..817ab46 100644
--- a/ZR.Admin.WebApi/Filters/ActionPermissionFilter.cs
+++ b/ZR.Admin.WebApi/Filters/ActionPermissionFilter.cs
@@ -43,10 +43,15 @@ namespace ZR.Admin.WebApi.Filters
if (info != null && info?.UserId > 0)
{
List perms = info.Permissions;
+ List rolePerms = info.RoleIds;
if (perms.Exists(f => f.Equals(GlobalConstant.AdminPerm)))
{
HasPermi = true;
}
+ else if (rolePerms.Exists(f => f.Equals(GlobalConstant.AdminRole)))
+ {
+ HasPermi = true;
+ }
else if (!string.IsNullOrEmpty(Permission))
{
HasPermi = perms.Exists(f => f.ToLower() == Permission.ToLower());
@@ -55,7 +60,7 @@ namespace ZR.Admin.WebApi.Filters
bool isDemoMode = ConfigUtils.Instance.GetAppConfig("DemoMode", false);
//演示公开环境屏蔽权限
- string[] denyPerms = new string[] { "update", "add", "remove", "add", "edit", "delete", "import", "run", "start", "stop", "clear", "send" ,"export", "upload", "common"};
+ string[] denyPerms = new string[] { "update", "add", "remove", "add", "edit", "delete", "import", "run", "start", "stop", "clear", "send", "export", "upload", "common" };
if (isDemoMode && denyPerms.Any(f => Permission.ToLower().Contains(f)))
{
context.Result = new JsonResult(new { code = ResultCode.FORBIDDEN, msg = "演示模式 , 不允许操作" });