using System; using System.Linq; using Znyc.Cloudcar.Admin.Commons.Cache; using Znyc.Cloudcar.Admin.Commons.Json; using Znyc.Cloudcar.Admin.Security.Dtos; namespace Znyc.Cloudcar.Admin.AspNetCore.Common { /// /// 权限控制 /// public static class Permission { /// /// 判断当前用户是否拥有某功能点的权限 /// /// 功能编码code /// 用户id /// public static bool HasFunction(string functionCode, int userId) { bool hasFunction = false; if (!string.IsNullOrEmpty(userId.ToString())) { if (string.IsNullOrEmpty(functionCode)) { hasFunction = true; } else { System.Collections.Generic.List listFunction = new CacheHelper().Get("User_Function_" + userId).ToJson() .ToList(); if (listFunction != null && listFunction.Count(t => t.EnCode == functionCode) > 0) { hasFunction = true; } } } return hasFunction; } /// /// 判断是否为系统管理员或超级管理员 /// /// true:系统管理员或超级管理员,false:不是系统管理员或超级管理员 /// /// public static bool IsAdmin(AdminCurrentUser AdminCurrentUser) { bool blnIsAdmin = false; if (AdminCurrentUser != null) { if (AdminCurrentUser.Account == "admin" || AdminCurrentUser.Role.Contains("administrators", StringComparison.Ordinal)) { return true; } } return blnIsAdmin; } } }