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;
}
}
}