public ActionResult Login(RegisterAndLoginViewModel Loginuser) { try { if (ModelState.IsValid) { var _user = userService.Find(Loginuser.UserViewModel.UserName); if (_user != null && Loginuser.UserViewModel.Password == _user.Password) { Session.Add("user", _user); Session["userName"] = _user.DisplayName; return(RedirectToAction("Index", "Book")); } else { ModelState.AddModelError("", "用户名或者密码不匹配!"); } } } catch (Exception e) { LogHelper.WriteLog(typeof(UserController), e); throw e; } return(View("LoginAndRegister", Loginuser)); }
public async Task <ActionResult> Login(RegisterAndLoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } var result = await SignInManager.PasswordSignInAsync(model.Login.Email, model.Login.Password, model.Login.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.Login.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public async Task <ActionResult> Register(RegisterAndLoginViewModel model) { if (ModelState.IsValid) { var user = new TwitterUser { UserName = model.Register.Email, Email = model.Register.Email, EmailConfirmed = true, Name = model.Register.FirstName, Surname = model.Register.LastName }; var result = await UserManager.CreateAsync(user, model.Register.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); if (!Directory.Exists(Server.MapPath(string.Format("~/Content/img/Uploads/ProfileOriginalSize/{0}", user.Email)))) { Directory.CreateDirectory(Server.MapPath(string.Format("~/Content/img/Uploads/ProfileOriginalSize/{0}", user.Email))); Directory.CreateDirectory(Server.MapPath(string.Format("~/Content/img/Uploads/ProfileSmallSize/{0}", user.Email))); Directory.CreateDirectory(Server.MapPath(string.Format("~/Content/img/Uploads/ProfileMediumSize/{0}", user.Email))); Directory.CreateDirectory(Server.MapPath(string.Format("~/Content/img/Uploads/CoverBigSize/{0}", user.Email))); } return(RedirectToAction("Index", "Home")); } AddErrors(result); } return(View("Login", model)); }
public ActionResult Register(RegisterAndLoginViewModel userViewModel) { try { User user = new User() { UserName = userViewModel.RegisterViewModel.UserName, Password = userViewModel.RegisterViewModel.Password, DisplayName = userViewModel.RegisterViewModel.DisplayName, EmailAddress = userViewModel.RegisterViewModel.EmailAddress }; if (ModelState.IsValid) { if (userService.Exist(user.UserName)) { ModelState.AddModelError("UserName", "用户名已存在!"); return(View("LoginAndRegister", userViewModel)); } else if (user != null) { db.users.Add(user); db.SaveChanges(); return(RedirectToAction("Login")); } else { ModelState.AddModelError("", "error"); return(View("LoginAndRegister", userViewModel)); } } } catch (Exception e) { LogHelper.WriteLog(typeof(UserController), e); throw e; } return(View(userViewModel)); }
public ChatRegister() { DataContext = new RegisterAndLoginViewModel(); InitializeComponent(); }
public async Task <IActionResult> RegisterAndLogin([FromBody] RegisterAndLoginViewModel model) { if (ModelState.IsValid) { // This doesn't count login failures towards account lockout var user = await _userManager.FindByNameAsync(model.dod_id); if (user != null) { var result = await _signInManager.PasswordSignInAsync(model.dod_id, model.password, model.remember_me, lockoutOnFailure : false); if (result.Succeeded) { _logger.LogInformation("User logged in."); return(Json(new Result())); } if (result.IsLockedOut) { _logger.LogWarning("User account locked out."); return(Json(new Result("Locked Out", "User is locked out.", 401))); } else { return(Json(new Result("Failure", "Invalid Login Attempt", 401))); } } else { //Register user user = new ApplicationUser { UserName = model.dod_id.ToString(), Email = model.email }; var result = await _userManager.CreateAsync(user, model.password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailConfirmationAsync(model.email, callbackUrl); //Each user is a marine await _userManager.AddToRoleAsync(user, ApplicationPermissions.ROLE_MARINE); //if (Token != null) // Verify which other roles the user is in //{ // if (Token.TokenData == ApplicationPermissions.ROLE_SUPERVISOR) // { // await _userManager.AddToRoleAsync(user, ApplicationPermissions.ROLE_SUPERVISOR); // } // if (Token.TokenData == ApplicationPermissions.ROLE_DOD_ADMIN) // { // await _userManager.AddToRoleAsync(user, ApplicationPermissions.ROLE_SUPERVISOR); // await _userManager.AddToRoleAsync(user, ApplicationPermissions.ROLE_DOD_ADMIN); // } //} await _signInManager.SignInAsync(user, isPersistent : true); return(Json(new Result())); } else { string result_error = ""; result.Errors.Select(e => e.Description).ToList().ForEach(e => result_error += e + "; "); return(Json(new Result("Failure", $"User Could Not Be Created: {result_error}", 406))); } } } // If we got this far, something failed return(Json(new Result("Failure", "Invalid Login Attempt Or Invliad JSON model.", 401))); }