public IActionResult Register(LogRegWrapper FromForm) { if (ModelState.IsValid) { // Unique validation if (DbContext.DbUsers.Any(u => u.Email == FromForm.Register.Email)) { ModelState.AddModelError("Register.Email", "Already registered? Please Log In."); return(LogReg()); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); FromForm.Register.Password = Hasher.HashPassword(FromForm.Register, FromForm.Register.Password); DbContext.Add(FromForm.Register); DbContext.SaveChanges(); HttpContext.Session.SetInt32("UserId", FromForm.Register.UserId); return(RedirectToAction("Dashboard")); } else { return(LogReg()); } }
public IActionResult Login(LogRegWrapper FromForm) { if (ModelState.IsValid) { User InDb = DbContext.DbUsers.FirstOrDefault(u => u.Email == FromForm.Login.Email); if (InDb == null) { ModelState.AddModelError("Login.Email", "Invalid email/password"); return(LogReg()); } PasswordHasher <LogUser> Hasher = new PasswordHasher <LogUser>(); PasswordVerificationResult Result = Hasher.VerifyHashedPassword(FromForm.Login, InDb.Password, FromForm.Login.Password); if (Result == 0) { ModelState.AddModelError("Login.Email", "Invalid email/password"); return(LogReg()); } HttpContext.Session.SetInt32("UserId", InDb.UserId); return(RedirectToAction("Dashboard")); } else { return(LogReg()); } }
public IActionResult Logging(LogRegWrapper user) { if (ModelState.IsValid) { User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.Login.Email); if (userInDb == null) { ModelState.AddModelError("Login.Email", "Invalid Email/Password"); return(Registration()); } PasswordHasher <LoggedUser> Hasher = new PasswordHasher <LoggedUser>(); PasswordVerificationResult Result = Hasher.VerifyHashedPassword(user.Login, userInDb.Password, user.Login.Password); if (Result == 0) { ModelState.AddModelError("Login.Email", "Invalid Email/Password"); return(Registration()); } HttpContext.Session.SetInt32("UserId", userInDb.UserId); return(RedirectToAction("Dashboard")); } else { return(Registration()); } }
public IActionResult Logged(LogRegWrapper logged) { if (ModelState.IsValid) { var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == logged.ThisLoginUser.Email); if (userInDb == null) { ModelState.AddModelError("ThisLoginUser.Email", "Invalid Email/Password"); return(View("Index")); } var hasher = new PasswordHasher <LoginUser>(); var result = hasher.VerifyHashedPassword(logged.ThisLoginUser, userInDb.Password, logged.ThisLoginUser.Password); if (result == 0) { ModelState.AddModelError("ThisLoginUser.Email", "Invalid Email/Password"); return(View("Index")); } HttpContext.Session.SetInt32("UserId", userInDb.UserId); return(RedirectToAction("Dashboard")); } else { return(View("Index")); } }
public IActionResult Verify(LogRegWrapper Form) { if (ModelState.IsValid) { var inDB = _context.Users.FirstOrDefault(u => u.Email == Form.LoginUser.Email); if (inDB == null) { ModelState.AddModelError("Email", "Invalid Email/Passoword"); return(View("LogReg")); } var hasher = new PasswordHasher <LoginUser>(); var result = hasher.VerifyHashedPassword(Form.LoginUser, inDB.Password, Form.LoginUser.Password); if (result == 0) { ModelState.AddModelError("Password", "Are you sure you belong here?"); return(View("LogReg")); } User ThisUser = _context.Users.FirstOrDefault(u => u.Email == Form.LoginUser.Email); HttpContext.Session.SetInt32("UserID", ThisUser.UserID); return(RedirectToAction("Dashboard")); } return(View("LogReg")); }
public IActionResult CreateUser(LogRegWrapper Form) { if (ModelState.IsValid) { PasswordHasher <User> Hasher = new PasswordHasher <User>(); Form.NewUser.Password = Hasher.HashPassword(Form.NewUser, Form.NewUser.Password); _context.Add(Form.NewUser); _context.SaveChanges(); User ThisUser = _context.Users.FirstOrDefault(i => i.Email == Form.NewUser.Email); HttpContext.Session.SetInt32("UserID", ThisUser.UserID); return(RedirectToAction("Dashboard")); } return(View("LogReg")); }
public IActionResult Login(LogRegWrapper FromForm) { if (ModelState.IsValid) { User InDb = dbContext.Users.FirstOrDefault(u => u.Email == FromForm.Login.LogEmail); if (InDb == null) { ModelState.AddModelError("Login.LogEmail", "Invalid Email or Password"); return(Index()); } HttpContext.Session.SetInt32("UserId", InDb.UserId); return(RedirectToAction("Dashboard")); } else { return(Index()); } }
public IActionResult Registering(LogRegWrapper user) { if (ModelState.IsValid) { if (dbContext.Users.Any(u => u.Email == user.Register.Email)) { ModelState.AddModelError("Register.Email", "Already Registered? Please Log In."); return(Registration()); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Register.Password = Hasher.HashPassword(user.Register, user.Register.Password); dbContext.Users.Add(user.Register); dbContext.SaveChanges(); HttpContext.Session.SetInt32("UserId", user.Register.UserId); return(RedirectToAction("Dashboard")); } else { return(Registration()); } }
public IActionResult New(LogRegWrapper newUser) { if (ModelState.IsValid) { if (dbContext.Users.Any(u => u.Email == newUser.ThisUser.Email)) { ModelState.AddModelError("ThisUser.Email", "Email already in use!"); return(View("Index")); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); newUser.ThisUser.Password = Hasher.HashPassword(newUser.ThisUser, newUser.ThisUser.Password); dbContext.Add(newUser.ThisUser); dbContext.SaveChanges(); HttpContext.Session.SetInt32("UserId", newUser.ThisUser.UserId); return(RedirectToAction("Dashboard")); } else { return(View("Index")); } }
public IActionResult Login(LogRegWrapper userSub) //Had to change because we are passing this a wrapper model { LogUser userSubmission = userSub.logUser; //made an instance of LogUser from the wrapper model to userSubmission in order to continue using userSubmission and not changing it throughout! if (ModelState.IsValid) { // If inital ModelState is valid, query for a user with provided email var userInDb = dbContext.users.FirstOrDefault(u => u.alias == userSubmission.log_alias); // If no user exists with provided email if (userInDb == null) { // Add an error to ModelState and return to View! string msg = "Invalid Email/Password!"; return(RedirectToAction("Index", new { msg = msg })); } // Initialize hasher object var hasher = new PasswordHasher <LogUser>(); // verify provided password against hash stored in db var result = hasher.VerifyHashedPassword(userSubmission, userInDb.password, userSubmission.log_password); // result can be compared to 0 for failure if (result == 0) { string msg = "Invalid Email/Password!"; return(RedirectToAction("Index", new { msg = msg })); } else { HttpContext.Session.SetInt32("User", userInDb.UserId); return(RedirectToAction("Dashboard", "Home")); } } else { return(View("Index")); } }
public IActionResult LoginValidate(LogRegWrapper LogRegWrapper) { if (ModelState.IsValid) { var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == LogRegWrapper.Login.Email); if (userInDb == null) { ModelState.AddModelError("Email", "Invalid Email/Password"); return(View("Index")); } var hasher = new PasswordHasher <Login>(); var result = hasher.VerifyHashedPassword(LogRegWrapper.Login, userInDb.Password, LogRegWrapper.Login.Password); if (result == 0) { ModelState.AddModelError("Email", "Invalid Email/Password"); return(View("Index")); } HttpContext.Session.SetInt32("userID", userInDb.UserID); return(RedirectToAction("Dashboard")); } return(View("Index")); }