public ActionResult UpdatePasswords() { var userBus = new busUser(); foreach (var user in userBus.Context.Users) { userBus.Load(user.Id); userBus.Save(user); } ViewModel.ErrorDisplay.ShowMessage("User accounts have been updated."); return(View("Index", ViewModel)); }
public async Task <ActionResult> ExternalLinkLoginCallback() { // Handle external Login Callback var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, AppUserState.UserId); if (loginInfo == null) { IdentitySignout(); // to be safe we log out return(RedirectToAction("Register", new { message = "Unable to authenticate with external login." })); } // Authenticated! string providerKey = loginInfo.Login.ProviderKey; string providerName = loginInfo.Login.LoginProvider; // Now load, create or update our custom user // normalize email and username if available if (string.IsNullOrEmpty(AppUserState.Email)) { AppUserState.Email = loginInfo.Email; } if (string.IsNullOrEmpty(AppUserState.Name)) { AppUserState.Name = loginInfo.DefaultUserName; } var userBus = new busUser(); User user = null; if (!string.IsNullOrEmpty(AppUserState.UserId)) { user = userBus.Load(AppUserState.UserId); } if (user == null && !string.IsNullOrEmpty(providerKey)) { user = userBus.LoadUserByProviderKey(providerKey); } if (user == null && !string.IsNullOrEmpty(loginInfo.Email)) { user = userBus.LoadUserByEmail(loginInfo.Email); } if (user == null) { user = userBus.NewEntity(); userBus.SetUserForEmailValidation(user); } if (string.IsNullOrEmpty(user.Email)) { user.Email = AppUserState.Email; } if (string.IsNullOrEmpty(user.Name)) { user.Name = AppUserState.Name ?? "Unknown (" + providerName + ")"; } if (loginInfo.Login != null) { user.OpenIdClaim = loginInfo.Login.ProviderKey; user.OpenId = loginInfo.Login.LoginProvider; } else { user.OpenId = null; user.OpenIdClaim = null; } // finally save user inf bool result = userBus.Save(user); // update the actual identity cookie AppUserState.FromUser(user); IdentitySignin(AppUserState, loginInfo.Login.ProviderKey); return(RedirectToAction("Register")); }
public ActionResult Register(FormCollection formVars) { string id = formVars["Id"]; if (!string.IsNullOrEmpty(formVars["btnDeleteAccount"])) { if (string.IsNullOrEmpty(AppUserState.UserId)) { return(View("Register", ViewModel)); } if (!busUser.Delete(AppUserState.UserId)) { ViewModel.ErrorDisplay.ShowError("Unable to delete this account: " + busUser.ErrorMessage); } else { IdentitySignout(); return(RedirectToAction("New", "Snippet")); } return(View("Register", ViewModel)); } ViewData["IsNew"] = false; string confirmPassword = formVars["confirmPassword"]; bool isNew = false; User user = null; if (string.IsNullOrEmpty(id) || busUser.Load(id) == null) { user = busUser.NewEntity(); ViewData["IsNew"] = true; // not validated yet user.InActive = true; isNew = true; } else { user = busUser.Entity; } UpdateModel <User>(busUser.Entity, new string[] { "Name", "Email", "Password", "Theme" }); if (ModelState.Count > 0) { ErrorDisplay.AddMessages(ModelState); } if (string.IsNullOrEmpty(user.OpenId) && confirmPassword != user.Password) { ErrorDisplay.AddMessage("Please make sure both password values match.", "confirmPassword"); } if (ErrorDisplay.DisplayErrors.Count > 0) { return(View("Register", ViewModel)); } if (!busUser.Validate()) { ErrorDisplay.Message = "Please correct the following:"; ErrorDisplay.AddMessages(busUser.ValidationErrors); return(View("Register", ViewModel)); } if (!busUser.Save()) { ErrorDisplay.ShowError("Unable to save User: "******"Register", ViewModel)); } AppUserState appUserState = new AppUserState(); appUserState.FromUser(user); IdentitySignin(appUserState, appUserState.UserId); if (isNew) { SetAccountForEmailValidation(); ErrorDisplay.HtmlEncodeMessage = false; ErrorDisplay.ShowMessage( @"Thank you for creating an account... <hr /> <p>Before you can post and save new CodePastes we need to verify your email address.</p> <p>We just sent you an email with a confirmation code. Please follow the instructions in the email to validate your email address.</p>"); return(View("Register", ViewModel)); } return(RedirectToAction("New", "Snippet", null)); }
public async Task<ActionResult> ExternalLinkLoginCallback() { // Handle external Login Callback var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, AppUserState.UserId); if (loginInfo == null) { IdentitySignout(); // to be safe we log out return RedirectToAction("Register", new {message = "Unable to authenticate with external login."}); } // Authenticated! string providerKey = loginInfo.Login.ProviderKey; string providerName = loginInfo.Login.LoginProvider; // Now load, create or update our custom user // normalize email and username if available if (string.IsNullOrEmpty(AppUserState.Email)) AppUserState.Email = loginInfo.Email; if (string.IsNullOrEmpty(AppUserState.Name)) AppUserState.Name = loginInfo.DefaultUserName; var userBus = new busUser(); User user = null; if (!string.IsNullOrEmpty(AppUserState.UserId)) user = userBus.Load(AppUserState.UserId); if (user == null && !string.IsNullOrEmpty(providerKey)) user = userBus.LoadUserByProviderKey(providerKey); if (user == null && !string.IsNullOrEmpty(loginInfo.Email)) user = userBus.LoadUserByEmail(loginInfo.Email); if (user == null) { user = userBus.NewEntity(); userBus.SetUserForEmailValidation(user); } if (string.IsNullOrEmpty(user.Email)) user.Email = AppUserState.Email; if (string.IsNullOrEmpty(user.Name)) user.Name = AppUserState.Name ?? "Unknown (" + providerName + ")"; if (loginInfo.Login != null) { user.OpenIdClaim = loginInfo.Login.ProviderKey; user.OpenId = loginInfo.Login.LoginProvider; } else { user.OpenId = null; user.OpenIdClaim = null; } // finally save user inf bool result = userBus.Save(user); // update the actual identity cookie AppUserState.FromUser(user); IdentitySignin(AppUserState, loginInfo.Login.ProviderKey); return RedirectToAction("Register"); }
public ActionResult UpdatePasswords() { var userBus = new busUser(); foreach (var user in userBus.Context.Users) { userBus.Load(user.Id); userBus.Save(user); } ViewModel.ErrorDisplay.ShowMessage("User accounts have been updated."); return View("Index",this.ViewModel); }