Beispiel #1
0
        public Task AddClaimAsync(IdentityUser user, System.Security.Claims.Claim claim)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (claim == null)
            {
                throw new ArgumentNullException("claim");
            }
            User user1 = this._userRepository.FindById(user.Id, false);

            if (user1 == null)
            {
                throw new ArgumentException("IdentityUser does not correspond to a User entity.", "user");
            }
            Domain.Entities.Account.Claim claim1 = new Domain.Entities.Account.Claim()
            {
                ClaimType  = claim.Type,
                ClaimValue = claim.Value,
                User       = user1
            };
            user1.Claims.Add(claim1);
            this._userRepository.Update(user1);
            return(this._unitOfWork.CommitAsync());
        }
Beispiel #2
0
        public Task RemoveClaimAsync(IdentityUser user, System.Security.Claims.Claim claim)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (claim == null)
            {
                throw new ArgumentNullException("claim");
            }
            User user1 = this._userRepository.FindById(user.Id, false);

            if (user1 == null)
            {
                throw new ArgumentException("IdentityUser does not correspond to a User entity.", "user");
            }
            Domain.Entities.Account.Claim claim1 = user1.Claims.FirstOrDefault <Domain.Entities.Account.Claim>((Domain.Entities.Account.Claim x) => (x.ClaimType != claim.Type ? false : x.ClaimValue == claim.Value));
            user1.Claims.Remove(claim1);
            this._userRepository.Update(user1);
            return(this._unitOfWork.CommitAsync());
        }