public async Task <ActionResult> Register(RegisterModel model) { if (!ModelState.IsValid) { return(View()); } var user = new App_User { UserName = model.Email, Country = model.Country, Age = model.Age }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignIn(user); return(RedirectToAction("index", "home")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error); } return(View()); }
private async Task SignIn(App_User user) { var identity = await userManager.CreateIdentityAsync( user, DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.Country, user.Country)); GetAuthenticationManager().SignIn(identity); }
public async Task <IActionResult> OnGet(string id) { App_User = await userManager.FindByIdAsync(id); if (App_User == null) { return(RedirectToPage("NotFound")); } return(Page()); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new App_User { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> OnPostAsync(App_User user) { if (ModelState.IsValid) { if (User.Id == null) { return(RedirectToPage("/Register")); } else { User.Id = user.Id; User.UserName = user.UserName; User.FirstName = user.FirstName; User.LastName = user.LastName; User.Email = user.Email; User.City = user.City; IdentityResult drugo = await userManager.UpdateAsync(User); TempData["TempMessage"] = "User Informartion Updated!"; if (drugo.Succeeded) { return(RedirectToPage("./Index", userManager.Users)); } else { ModelState.AddModelError("", "User not updated, something went wrong."); } } } var list = membershipData.GetMemberships().ToList().Select(x => new { Id = x.Id, MembershipName = $"{x.MemberhipTypeName}" }); Memberships = new SelectList(list, "Id", "MembershipName"); return(Page()); }
public async Task <IActionResult> OnPostAsync(string id) { App_User = await userManager.FindByIdAsync(id); if (App_User != null) { IdentityResult result = await userManager.DeleteAsync(App_User); if (result.Succeeded) { return(RedirectToPage("./Index")); } else { ModelState.AddModelError("", "Something went wrong while deleting this user."); } } else { ModelState.AddModelError("", "This user can't be found"); } return(RedirectToPage("./Index", userManager.Users)); }