コード例 #1
0
        /// <summary>
        /// Deletes a login from a user in the UserLogins table
        /// </summary>
        /// <param name="user">User to have login deleted</param>
        /// <param name="login">Login to be deleted from user</param>
        /// <returns></returns>
        public async Task DeleteAsync(IdentityUser user, UserLoginInfo login)
        {
            AspNetUserLogins foundLogin = await _identityEntities.AspNetUserLogins.SingleOrDefaultAsync(userLogin => userLogin.UserId == user.Id &&
                                                                                                        userLogin.LoginProvider == login.LoginProvider &&
                                                                                                        userLogin.ProviderKey == login.ProviderKey);

            if (foundLogin != null)
            {
                _identityEntities.AspNetUserLogins.Remove(foundLogin);
                await _identityEntities.SaveChangesAsync();
            }
        }
コード例 #2
0
        /// <summary>
        /// Deltes a role from the Roles table
        /// </summary>
        /// <param name="roleId">The role Id</param>
        /// <returns></returns>
        public async Task DeleteRoleAsync(string roleId)
        {
            if (!String.IsNullOrEmpty(roleId))
            {
                Roles currentRole = await _identityEntities.Roles.SingleOrDefaultAsync(role => role.Id == roleId);

                if (currentRole != null)
                {
                    _identityEntities.Roles.Remove(currentRole);
                    await _identityEntities.SaveChangesAsync();
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Deletes all claims from a user using user's Id
        /// </summary>
        /// <param name="userId">The user's id</param>
        /// <returns></returns>
        public async Task DeleteClaimsAsync(string userId)
        {
            if (!String.IsNullOrEmpty(userId))
            {
                List <UserClaims> foundClaim = await _identityEntities.UserClaims.Where(claim => claim.UserId == userId).ToListAsync();

                if (foundClaim != null)
                {
                    _identityEntities.UserClaims.RemoveRange(foundClaim);
                    await _identityEntities.SaveChangesAsync();
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Sets the user's password hash
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="passwordHash"></param>
        /// <returns></returns>
        public async Task SetPasswordHashAsync(string userId, string passwordHash)
        {
            if (!String.IsNullOrWhiteSpace(userId) && !String.IsNullOrWhiteSpace(passwordHash))
            {
                AspNetUsers foundUser = await _identityEntities.AspNetUsers.SingleOrDefaultAsync(u => u.Id == userId);

                if (foundUser != null)
                {
                    foundUser.PasswordHash = passwordHash;
                    await _identityEntities.SaveChangesAsync();
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Sets to user given role ID
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="roleId"></param>
        /// <returns></returns>
        public async Task SetUserRoleAsync(string userId, string roleId)
        {
            if (!String.IsNullOrEmpty(userId) && !String.IsNullOrEmpty(roleId))
            {
                Users currentUser = await _identityEntities.Users.SingleOrDefaultAsync(user => user.Id == userId);

                if (currentUser != null)
                {
                    currentUser.RoleId = roleId;
                    await _identityEntities.SaveChangesAsync();
                }
            }
        }