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