public async Task <IActionResult> TryLogin(Model.Input.LoginUser model) { if (!ModelState.IsValid) { return(View("Login", model)); } var userRepo = (Repository.IUser) this._services.GetService(typeof(Repository.IUser)); var user = await userRepo.VerifyCredentials(model.UserName, model.Password); // Not finding a user means their credentials could not be verified. if (user == null) { var loginRedirect = new Model.Input.LoginRedirect(); this.SetFlashError("Invalid login credentials"); loginRedirect.ReturnUrl = model.ReturnUrl; this._logger.LogWarning($"Invalid login attempt with login name '{model.UserName}'"); return(RedirectToAction("LoginIndex", loginRedirect)); } await DoLogin(user.UserId); if (!String.IsNullOrEmpty(model.ReturnUrl)) { return(Redirect(model.ReturnUrl)); } else { return(RedirectToAction("Index", "StoreFront")); } }
public IActionResult LoginIndex(Model.Input.LoginRedirect loginRedirectModel) { // LoginRedirectModel is used for redirection requests. var loginUser = new Model.Input.LoginUser(); loginUser.ReturnUrl = loginRedirectModel.ReturnUrl; return(View("Login", loginUser)); }