public IActionResult Login(RegLoginViewModel submittedUser) { RegLoginViewModel lrmodel = new RegLoginViewModel() { loginUser = submittedUser.loginUser }; if (ModelState.IsValid) { User returnedUser = _context.users.Where(p => p.email == submittedUser.loginUser.email).FirstOrDefault(); if (returnedUser == null) { TempData["LoginError"] = "Email not registered. Register above"; return(View("Index", lrmodel)); } var Hasher = new PasswordHasher <User>(); if (0 != Hasher.VerifyHashedPassword(returnedUser, returnedUser.password, submittedUser.loginUser.password)) { HttpContext.Session.SetInt32("loggedUser", returnedUser.user_id); return(RedirectToAction("Dashboard")); } else { TempData["LoginError"] = "Incorrect password"; return(View("Index", lrmodel)); } } return(View("Index", lrmodel)); }
public IActionResult Index() { RegLoginViewModel model = new RegLoginViewModel() { regUser = null, loginUser = null }; return(View(model)); }
public IActionResult CreateUser(RegLoginViewModel submittedUser) { if (ModelState.IsValid) { if (_context.users.Any(p => p.email == submittedUser.regUser.email)) { TempData["Error"] = "Already registered, please login"; return(View("Index")); } if (submittedUser.regUser.password == submittedUser.regUser.confirm_pw) { //hash password PasswordHasher <User> Hasher = new PasswordHasher <User>(); submittedUser.regUser.password = Hasher.HashPassword(submittedUser.regUser, submittedUser.regUser.password); //save to db _context.Add(submittedUser.regUser); _context.SaveChanges(); User returnedUser = _context.users.Where(p => p.email == submittedUser.regUser.email).FirstOrDefault(); HttpContext.Session.SetInt32("loggedUser", returnedUser.user_id); return(RedirectToAction("Dashboard")); } else { TempData["Error"] = "Passwords don't match"; return(View("Index")); } } RegLoginViewModel lrmodel = new RegLoginViewModel() { regUser = submittedUser.regUser }; return(View("Index", lrmodel)); }