public ActionResult Index(RegisterViewModel model) { if (ModelState.IsValid) { UIUserCreateStatus status; IEnumerable <string> errors = Enumerable.Empty <string>(); var result = UIUserProvider.CreateUser(model.Username, model.Password, model.Email, null, null, true, out status, out errors); if (status == UIUserCreateStatus.Success) { UIRoleProvider.CreateRole(AdminRoleName); UIRoleProvider.AddUserToRoles(result.Username, new string[] { AdminRoleName }); if (ProfileManager.Enabled) { var profile = EPiServerProfile.Wrap(ProfileBase.Create(result.Username)); profile.Email = model.Email; profile.Save(); } AdministratorRegistrationPage.IsEnabled = false; SetFullAccessToWebAdmin(); var resFromSignIn = UISignInManager.SignIn(UIUserProvider.Name, model.Username, model.Password); if (resFromSignIn) { return(Redirect(UrlResolver.Current.GetUrl(ContentReference.StartPage))); } } AddErrors(errors); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Index(RegisterViewModel model) { if (ModelState.IsValid) { UIUserCreateStatus status; IEnumerable <string> errors = Enumerable.Empty <string>(); var result = _UIUserProvider.CreateUser(model.Username, model.Password, model.Email, null, null, true, out status, out errors); if (status == UIUserCreateStatus.Success) { //Check if role exists, if it does not create it and set full permission to all pages of the site SetFullAccessToRole(AdminRoleName); //Add the newly created user to the role. _UIRoleProvider.AddUserToRoles(result.Username, new string[] { AdminRoleName }); if (ProfileManager.Enabled) { var profile = EPiServerProfile.Wrap(ProfileBase.Create(result.Username)); profile.Email = model.Email; profile.Save(); } //After user creation, sign-in the user account and redirect to Episerver CMS var resFromSignIn = _UISignInManager.SignIn(_UIUserProvider.Name, model.Username, model.Password); if (resFromSignIn) { return(Redirect("/episerver/cms")); } } AddErrors(errors); } // If we got this far, something failed, redisplay form return(View(_ViewPath, model)); }