public bool IsPermission(string roleFunctionName) { if (_PermissionService == null || string.IsNullOrWhiteSpace(roleFunctionName)) { return(false); } return((from r in _PermissionService.ReadClientPermission(AppConfig.Instance.ClientID) where RoleIDs.Contains(r.RoleID) && r.RoleFunctionName == roleFunctionName select r).Count() > 0); }
/// <summary>获取角色列表。主角色在前,其它角色升序在后</summary> /// <returns></returns> public virtual Int32[] GetRoleIDs() { var ids = RoleIDs.SplitAsInt().OrderBy(e => e).ToList(); if (RoleID > 0) { ids.Insert(0, RoleID); } return(ids.Distinct().ToArray()); }
public bool IsAuthorize(string action, string controller, string method) { if (Username.Contains("0000")) { return(true); } var roleFunctionResult = from r in _PermissionService.ReadClientPermission(AppConfig.Instance.ClientID) where RoleIDs.Contains(r.RoleID) && r.APIAction == action && r.APIController == controller && r.APIMethod == method select r; return(roleFunctionResult.Any()); }
public bool IsInRole(int roleId) { var inRole = false; if (!string.IsNullOrEmpty(RoleIDs)) { inRole = RoleIDs.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Any(r => Convert.ToInt32(r) == roleId); } return(inRole); }
public override Task <PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services) { var roles = new List <ulong>(); foreach (var role in from r in context.Guild.Roles where RoleIDs.Contains(r.Id) || RoleNames.Contains(r.Name) select r) { roles.Add(role.Id); } return((context.User as IGuildUser).RoleIds.Intersect(roles).Any() ? Task.FromResult(PreconditionResult.FromSuccess()) : Task.FromResult(PreconditionResult.FromError($"User does not have required role!"))); }
private void EnsureInRoleIDs() { if (this.RoleID.IsNotEmpty()) { RoleIDContainer container = new RoleIDContainer() { AppID = this.AppID, RoleID = this.RoleID }; if (RoleIDs.ContainsKey(container) == false) { RoleIDs.Add(container, container); } } }
/// <summary>插入管理员与角色表映射</summary> protected Int32 InsertAdminRole() { var result = 0; if (!String.IsNullOrEmpty(RoleIDs)) { Int32[] ss = RoleIDs.SplitAsInt(","); if (ss != null && ss.Length > 0) { EntityList <AdminRole> list = new EntityList <AdminRole>(); foreach (Int32 item in ss) { AdminRole entity = new AdminRole(); entity.AdminID = ID; entity.RoleID = item; list.Add(entity); } result += list.Insert(true); } } return(result); }