public IActionResult Register(LoginAndRegViewModel modelData) { Console.WriteLine("$$$$$$$$$$$$$$$$$WORKING$$$$$$$$$$$$$$$$$$$$"); if(ModelState.IsValid) { User newUser = modelData.NewUser; if(dbContext.Users.Any(u => u.Email == newUser.Email)) { ModelState.AddModelError("Email", "Email already in use!"); return View("LoginAndRegPage"); } PasswordHasher<User> Hasher = new PasswordHasher<User>(); newUser.Password = Hasher.HashPassword(newUser, newUser.Password); dbContext.Add(newUser); dbContext.SaveChanges(); HttpContext.Session.SetInt32("user_id", newUser.UserId); return RedirectToAction("Dashboard"); } return View("LoginAndRegPage"); }
public IActionResult Login(LoginAndRegViewModel modelData) { if (ModelState.IsValid) { LoginCredentials loggeduser = modelData.LoggedUser; User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == loggeduser.Email); if (userInDb == null) { ModelState.AddModelError("Email", "Invalid Email/Password"); return View("LoginAndRegPage"); } var hasher = new PasswordHasher<LoginCredentials>(); var result = hasher.VerifyHashedPassword(loggeduser, userInDb.Password, loggeduser.Password); if (result == 0) { ModelState.AddModelError("Password", "Invalid Email/Password"); return View("LoginAndRegPage"); } HttpContext.Session.SetInt32("user_id", userInDb.UserId); return RedirectToAction("Dashboard"); } return View("LoginAndRegPage"); }