public static async Task <IdentityResult> DeleteAccountAsync(this FaToolUserManager um, FaToolUser user) { if (user.IsAdminUser()) { return(IdentityResult.Failed("Can't delete admin user account.")); } var currentRoles = await um.GetRolesAsync(user.Id); var result = await um.RemoveFromRolesAsync(user.Id, currentRoles.ToArray()); if (result.Succeeded) { result = await um.DeleteAsync(user); } return(result); }
public static async Task <IdentityResult> UpdateRolesAsync(this FaToolUserManager um, FaToolUser user, params string[] roles) { if (roles == null) { roles = new string[] { } } ; var currentRoles = await um.GetRolesAsync(user.Id); var result = await um.RemoveFromRolesAsync(user.Id, currentRoles.ToArray()); if (result.Succeeded) { result = await um.AddToRolesAsync(user.Id, roles); } return(result); }
private static void CreateAdminUser(FaToolIdentityDbContext context) { using (var store = new FaToolUserStore(context)) using (var manager = new FaToolUserManager(store)) { var user = manager.FindByName(FaToolUsers.ADMIN); if (user == null) { user = new FaToolUser(FaToolUsers.ADMIN); user.Email = "*****@*****.**"; user.FirstName = "FirstName"; user.LastName = "LastName"; user.Company = "Company"; user.Address = "Address"; user.City = "City"; user.ZipCode = "ZipCode"; user.State = "State"; user.Country = Countries.Default.Code; var result = manager.Create(user, "Admin123#"); if (result.Succeeded == false) { throw new ApplicationException( string.Format("Error creating admin user, reason: {0}.", result.Errors.FirstOrDefault())); } result = manager.AddToRoles(user.Id, FaToolRoles.Values.ToArray()); if (result.Succeeded == false) { throw new ApplicationException( string.Format("Error grant admin user to roles, reason: {0}.", result.Errors.FirstOrDefault())); } } } }
public static async Task <IdentityResult> LockAccountAsync(this FaToolUserManager um, FaToolUser user, int?forMinutes) { if (user.IsAdminUser()) { return(IdentityResult.Failed("Can't lock admin user account.")); } var result = await um.SetLockoutEnabledAsync(user.Id, true); if (result.Succeeded) { if (forMinutes.HasValue) { result = await um.SetLockoutEndDateAsync(user.Id, DateTimeOffset.UtcNow.AddMinutes(forMinutes.Value)); } else { result = await um.SetLockoutEndDateAsync(user.Id, DateTimeOffset.MaxValue); } } return(result); }
public FaToolUserValidator(FaToolUserManager faToolUserManager) : base(faToolUserManager) { AllowOnlyAlphanumericUserNames = true; RequireUniqueEmail = true; }