Beispiel #1
0
 protected void OnUserRemovedFromRoleEvent(UserRemovedFromRoleEvent e)
 {
     if (_roles != null && _roles.Contains(e.Role))
     {
         _roles.Remove(e.Role);
     }
 }
Beispiel #2
0
    public async Task RemoveUserFromRoleAsync(string userId, string roleId)
    {
        var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == userId);

        if (user == null)
        {
            throw new UserNotFoundException(userId);
        }

        var role = await _roleManager.Roles.FirstOrDefaultAsync(x => x.Id == roleId);

        if (role == null)
        {
            throw new RoleNotFoundException(roleId);
        }

        // check if user is in role?
        if (await _userManager.IsInRoleAsync(user, role.Name))
        {
            await _userManager.RemoveFromRoleAsync(user, role.Name);

            var userRemovedFromRoleEvent = new UserRemovedFromRoleEvent(user.Email, role.Name);
            await _dispatcher.Dispatch(userRemovedFromRoleEvent);
        }
        else
        {
            _logger.LogWarning($"Attempted to remove {user.UserName} from role {role.Name} they weren't in.");
        }
    }
Beispiel #3
0
        public void RemoveFromRole(Guid userID, string role)
        {
            var e = new UserRemovedFromRoleEvent(Guid.NewGuid(), Guid.Empty, Version + 1, DateTime.UtcNow)
            {
                UserID = userID,
                Role = role,
                TimeStamp = DateTime.UtcNow
            };

            ApplyEvent(e);
        }
        public async Task RemoveUserFromRoleAsync(string userId, string roleId)
        {
            var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == userId);

            if (user == null)
            {
                throw new UserNotFoundException(userId);
            }

            var role = await _roleManager.Roles.FirstOrDefaultAsync(x => x.Id == roleId);

            if (role == null)
            {
                throw new RoleNotFoundException(roleId);
            }

            await _userManager.RemoveFromRoleAsync(user, role.Name);

            var userRemovedFromRoleEvent = new UserRemovedFromRoleEvent(user.Email, role.Name);
            await _dispatcher.Dispatch(userRemovedFromRoleEvent);
        }