public IActionResult Login(LoginReg FromForm) { if (ModelState.IsValid) { User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == FromForm.LoggedUserForm.Email); if (userInDb == null) { ModelState.AddModelError("LoggedUserForm.Email", "Invalid Email/Password"); return(Index()); } var hasher = new PasswordHasher <LoginUser>(); var result = hasher.VerifyHashedPassword(FromForm.LoggedUserForm, userInDb.Password, FromForm.LoggedUserForm.Password); if (result == 0) { ModelState.AddModelError("LoggedUserForm.Password", "Wrong Password"); return(Index()); } else { HttpContext.Session.SetInt32("UserId", userInDb.UserId); return(RedirectToAction("Dashboard")); } } else { return(Index()); } }
public IActionResult Login(LoginRegViewModel modelData) { LoginReg userLogin = modelData.existingUser; if (ModelState.IsValid) { User userInDB = dbContext.users.FirstOrDefault(u => u.Email == userLogin.Email); if (userInDB == null) { ModelState.AddModelError("Email", "Invalid email or password"); return(View("Index")); } else { var hasher = new PasswordHasher <LoginReg>(); var result = hasher.VerifyHashedPassword(userLogin, userInDB.Password, userLogin.Password); if (result == 0) { ModelState.AddModelError("Password", "Invalid email or password"); return(View("Index")); } if (HttpContext.Session.GetInt32("UserId") == null) { HttpContext.Session.SetInt32("UserId", userInDB.UserId); } return(RedirectToAction("Dashboard")); } } else { return(View("Index")); } }
public IActionResult Register(LoginReg FromForm) { if (ModelState.IsValid) { if (dbContext.Users.Any(u => u.Email == FromForm.UserForm.Email)) { ModelState.AddModelError("UserForm.Email", "Email is already in use!"); return(Index()); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); FromForm.UserForm.Password = Hasher.HashPassword(FromForm.UserForm, FromForm.UserForm.Password); dbContext.Users.Add(FromForm.UserForm); dbContext.SaveChanges(); HttpContext.Session.SetInt32("UserId", FromForm.UserForm.UserId); return(RedirectToAction("Dashboard")); } return(Index()); }
public IActionResult Login(LoginReg user) { PasswordVerificationResult hasherResult; if (ModelState.IsValid) { var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.LoginDetail.Email); // If no user exists with provided email if (userInDb == null) { System.Console.WriteLine("Not in database"); ModelState.AddModelError("Email", "Invalid Email/Password"); IncrementLogInattempts(); Console.WriteLine($"attempts: {this.LoginAttempts.ToString()}"); ViewBag.Attempts = this.LoginAttempts.ToString(); } else { // ModelState.AddModelError("Email", "Invalid Email/Password"); var hasher = new PasswordHasher <Login>(); // verify provided password against hash stored in db hasherResult = hasher.VerifyHashedPassword(user.LoginDetail, userInDb.Password, user.LoginDetail.Password); if (hasherResult != 0) { SetLoggedInStatus(userInDb.UserId); // ViewBag.Transactions = GetUserTransactions(); // for use with partial ClearLoginAttempts(); return(RedirectToAction("DojoActivities")); } else { ModelState.AddModelError("LoginDetail.Password", "Invalid Email/Password"); IncrementLogInattempts(); return(View("Register")); } } } ModelState.AddModelError("LoginDetail.Password", "Invalid Email/Password"); IncrementLogInattempts(); return(View("Register")); // return View("Register", user); }