コード例 #1
0
        public void DeleteUserRole()
        {
            IdentityUser user = new IdentityUser {
                UserName = "******", Email = "*****@*****.**", PhoneNumber = "1234567890", PasswordHash = "@#$rfgt$##WE", EmailConfirmed = true, PhoneNumberConfirmed = true, TwoFactorEnabled = false, LockoutEnabled = false, AccessFailedCount = 0
            };

            user = userTable.Insert(user);
            object role = new { Name = "Admin" };

            role = roleTable.Insert(role);
            userRoleTable.Delete(user.Id);
            int count = userRoleTable.All($"UserId={user.Id}").ToList().Count;

            Assert.AreEqual(0, count);
        }
コード例 #2
0
        public void It_deletes_all_roles_of_user()
        {
            List <string> userRoles;
            int           result;

            using (var transaction = _database.GetTransaction())
            {
                var user = _userTable.GetUserByName(name1).FirstOrDefault();
                CreateUserRole(user, role1);
                CreateUserRole(user, role2);
                result    = _userRoleTable.Delete(user.Id);
                userRoles = _userRoleTable.FindByUserId(user.Id);
                transaction.Dispose();
            }

            Assert.AreEqual(2, result);
            Assert.IsTrue(!userRoles.Any());
        }
コード例 #3
0
        public Task RemoveFromRoleAsync(TUser user, string role)
        {
            if (user == null)
            {
                throw new ArgumentNullException(IdentityConstants.User);
            }

            var rolesFound = _roleTable.GetRoles().Where(r => r.Name == role).ToList();

            if (!rolesFound.Any())
            {
                throw new ArgumentNullException(IdentityConstants.Role);
            }

            var specificRole = rolesFound.FirstOrDefault(r => r.ClientId == user.ClientId);
            var globalRole   = rolesFound.FirstOrDefault(r => r.ClientId == null);
            var roleToRemove = specificRole ?? globalRole;

            return(Task.FromResult <int>(_userRoleTable.Delete(roleToRemove.Id, user.Id)));
        }
コード例 #4
0
        public void It_deletes_all_roles_of_a_user()
        {
            List <IdentityRole> userRolesBeforeDelete;
            List <IdentityRole> userRolesAfterDelete;

            using (var transaction = _database.GetTransaction())
            {
                var user          = _userTable.GetUserByName(name1).FirstOrDefault();
                var identityRole1 = _roleTable.GetRoleByName(role1);
                var identityRole2 = _roleTable.GetRoleByName(role2);
                _userRoleTable.Insert(user.Id, identityRole1.Id);
                _userRoleTable.Insert(user.Id, identityRole2.Id);
                userRolesBeforeDelete = _userRoleTable.GetRoles(user.Id);
                _userRoleTable.Delete(user.Id);
                userRolesAfterDelete = _userRoleTable.GetRoles(user.Id);
                transaction.Dispose();
            }

            Assert.AreEqual(2, userRolesBeforeDelete.Count());
            Assert.AreEqual(0, userRolesAfterDelete.Count());
        }