public override int GetHashCode() { if (UserId != 0 && PermissionCode != null && PermissionCategory != null) { return(UserId.GetHashCode() ^ PermissionCode.GetHashCode() ^ PermissionCategory.GetHashCode()); } else { return(base.GetHashCode()); } }
public List <UserModel> GetUserByPermission(PermissionCode permission) { using (var context = _userRepository.GetDbContext()) { var users = context.Users.Where(c => c.UserRoles.Contains($";{permission.GetHashCode().ToString()};")).ToList(); var model = users.CloneToListModels <User, UserModel>(); return(model); } }
public async Task <bool> HasPermission(int[] roleIds, PermissionCode permission) { var code = $";{permission.GetHashCode()};"; var roles = await _rolesRepository.FetchAsync(c => roleIds.Contains(c.Id)); if (roles.Any(c => !String.IsNullOrEmpty(c.Permissions) && c.Permissions.Contains(code))) { return(true); } return(false); }
public static bool HasPermission(this ClaimsPrincipal claimsPrincipal, PermissionCode permissionCode) { var permissionsClaims = claimsPrincipal.Claims.FirstOrDefault(c => c.Type == "permissions"); if (permissionsClaims == null) { return(false); } return(permissionsClaims.Value.Contains(";" + permissionCode.GetHashCode() + ";")); }