private void RegisterAdministratorFor(Tenant tenant, FullName administorName, EmailAddress emailAddress, PostalAddress postalAddress, Telephone primaryTelephone, Telephone secondaryTelephone) { RegistrationInvitation invitation = tenant.OfferRegistrationInvitation("init").OpenEnded(); string strongPassword = new PasswordService().GenerateStrongPassword(); User admin = tenant.RegisterUser(invitation.InvitationId, "admin", strongPassword, Enablement.IndefiniteEnablement(), new Person(tenant.TenantId, administorName, new ContactInformation(emailAddress, postalAddress, primaryTelephone, secondaryTelephone))); tenant.WithdrawInvitation(invitation.InvitationId); _userRepository.Add(admin); Role adminRole = tenant.ProvisionRole("Administrator", "Default" + tenant.Name + " administrator."); adminRole.AssignUser(admin); _roleRepository.Add(adminRole); DomainEventPublisher.Instance.Publish(new TenantAdministratorRegistered(tenant.TenantId, tenant.Name, administorName, emailAddress, admin.UserName, strongPassword)); }
public void TestUserPasswordHashedOnChange() { User user = CreateUser(this.CreateTenant()); string strongPassword = new PasswordService().GenerateStrongPassword(); user.ChangePassword(_password, strongPassword); Assert.IsFalse(_password.Equals(user.Password)); Assert.IsFalse(strongPassword.Equals(user.Password)); }