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 = "演示模式 , 不允许操作" });