public IActionResult Register(LoginRegViewModel modelData) { User user = modelData.RegUser; if (ModelState.IsValid) { if (dbContext.users.Any(u => u.Email == user.Email)) { ModelState.AddModelError("RegUser.Email", "Email is already in use"); return(View("Index")); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, user.Password); dbContext.Add(user); dbContext.SaveChanges(); var GetNewUser = dbContext.users.FirstOrDefault(u => u.UserId == user.UserId); HttpContext.Session.SetInt32("UserId", GetNewUser.UserId); return(RedirectToAction("Dashboard")); } return(View("Index")); }
public IActionResult LoginUser(LoginRegViewModel modelData) { LoginUser user = modelData.LogUser; if (ModelState.IsValid) { var GetUser = dbContext.users.FirstOrDefault(u => u.Email == user.Email); if (GetUser == null) { ModelState.AddModelError("LogUser.Email", "Invalid email"); return(View("Index")); } var hasher = new PasswordHasher <LoginUser>(); var result = hasher.VerifyHashedPassword(user, GetUser.Password, user.Password); if (result == 0) { ModelState.AddModelError("LogUser.Password", "Password is incorrect"); return(View("Index")); } HttpContext.Session.SetInt32("UserId", GetUser.UserId); return(RedirectToAction("Dashboard")); } return(View("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(LoginRegViewModel modelData) { User creatingUser = modelData.newUser; if (ModelState.IsValid) { if (dbContext.users.Any(u => u.Email == creatingUser.Email)) { ModelState.AddModelError("Email", "Email is already in use!"); return(View("Index")); } else { PasswordHasher <User> Hasher = new PasswordHasher <User>(); creatingUser.Password = Hasher.HashPassword(creatingUser, creatingUser.Password); dbContext.Add(creatingUser); dbContext.SaveChanges(); if (HttpContext.Session.GetInt32("UserId") == null) { HttpContext.Session.SetInt32("UserId", creatingUser.UserId); } return(RedirectToAction("Dashboard", new { userID = creatingUser.UserId })); } } else { System.Console.WriteLine("*******************"); System.Console.WriteLine("REGISTRATION NOT WORKING!!!!"); System.Console.WriteLine(creatingUser.FirstName); System.Console.WriteLine(creatingUser.LastName); System.Console.WriteLine(creatingUser.Email); System.Console.WriteLine("*******************"); return(View("Index")); } }
public IActionResult Register(LoginRegViewModel registeringUser) { if (TryValidateModel(registeringUser.RegisterVM)) { //If the model validation is sucessful check to see if the email //is already in the database. "SingleOrDefault" returns null if it can't find it User existingUser = _context.User.SingleOrDefault(user => user.Email == registeringUser.RegisterVM.Email.ToLower()); if (existingUser == null) { //Create a new User object to be insterted into the database User newUser = new User { FirstName = registeringUser.RegisterVM.FirstName, LastName = registeringUser.RegisterVM.LastName, Email = registeringUser.RegisterVM.Email.ToLower(), Created_At = DateTime.Now, Updated_At = DateTime.Now }; //Create a password hasher object and insert the user's hashed password PasswordHasher <User> hasher = new PasswordHasher <User>(); newUser.Password = hasher.HashPassword(newUser, registeringUser.RegisterVM.RegPassword); //Try and insert the new user into the database try { _context.User.Add(newUser); _context.SaveChanges(); HttpContext.Session.SetString("UserName", newUser.FirstName); HttpContext.Session.SetInt32("UserId", newUser.UserId); return(RedirectToAction("Dashboard", "Home")); } catch (System.Exception) { //There was an error with inserting into the database TempData["errors"] = true; return(RedirectToAction("Index")); } } else { //Input email is already in the database string key = "Email"; string errorMessage = "This email address already exists. Please select another or login."; ModelState.AddModelError(key, errorMessage); TempData["errors"] = true; return(RedirectToAction("Index")); } } else { //The model could not be validated. Errors in form TempData["errors"] = true; return(RedirectToAction("Index")); } }
public IActionResult Login(LoginRegViewModel logUser) { Users UserLoginIn = _userFactory.GetUserByEmail(logUser.loginVM.loginEmail); if (Current_User != null) { //hash password PasswordHasher <Users> Hasher = new PasswordHasher <Users>(); if (0 != Hasher.VerifyHashedPassword(UserLoginIn, UserLoginIn.Password, logUser.loginVM.loginPassword)) { //Handle success HttpContext.Session.SetString(Current_User, UserLoginIn.FirstName); } } return(RedirectToAction("Index")); }
public IActionResult Register(LoginRegViewModel registerUser) { RegisterViewModel registerVM = registerUser.registerVM; if (TryValidateModel(registerVM)) { if (registerVM.RegisterPassword == registerVM.ConfirmPassword) //if the two passwords match { PasswordHasher <RegisterViewModel> Hasher = new PasswordHasher <RegisterViewModel>(); registerVM.RegisterPassword = Hasher.HashPassword(registerVM, registerVM.RegisterPassword); _userFactory.Register(registerUser.registerVM); HttpContext.Session.SetString(Current_User, registerUser.registerVM.FirstName); } } return(RedirectToAction("Index")); }
[Route("register")] //or create user route public IActionResult Register(LoginRegViewModel regVM) { RegisterViewModel registerVM = regVM.registerVM; if (TryValidateModel(registerVM)) { if (registerVM.password == registerVM.confirm_password) { PasswordHasher <RegisterViewModel> Hasher = new PasswordHasher <RegisterViewModel>(); registerVM.password = Hasher.HashPassword(registerVM, registerVM.password); _userFactory.Register(regVM.registerVM); HttpContext.Session.SetString(LOGGED_IN_USER, regVM.registerVM.first_name); } } return(RedirectToAction("Success")); }
public IActionResult Login(LoginRegViewModel loggingInUser) { if (TryValidateModel(loggingInUser.LoginVM)) { //If the Model is validation is sucessful try finding the user User existingUser = _context.User.SingleOrDefault(user => user.Email == loggingInUser.LoginVM.LoginEmail.ToLower()); if (existingUser != null) { //Create a password hasher object and compare the user's hashed passwords PasswordHasher <User> hasher = new PasswordHasher <User>(); //Match the input password with our database (a match == 1, 0 == error) if (hasher.VerifyHashedPassword(existingUser, existingUser.Password, loggingInUser.LoginVM.LoginPassword) != 0) { //The passwords succesfully matched HttpContext.Session.SetString("UserName", existingUser.FirstName); HttpContext.Session.SetInt32("UserId", existingUser.UserId); return(RedirectToAction("dashboard", "Home")); } else { //The passwords did not match string key = "LoginEmail"; string errorMessage = "Email address or log in did not work"; ModelState.AddModelError(key, errorMessage); TempData["login_errors"] = true; return(RedirectToAction("Index")); } } else { //The user couldn't be found in the database string key = "LoginEmail"; string errorMessage = "Email address or log in did not work"; ModelState.AddModelError(key, errorMessage); TempData["login_errors"] = true; return(RedirectToAction("Index")); } } else { //The model could not be validated. Errors in form. TempData["login_errors"] = true; return(RedirectToAction("Index")); } }
public IActionResult Login(LoginRegViewModel loginVM) { User user = _userFactory.GetUserByEmail(loginVM.loginVM.loginEmail); if (user != null) { PasswordHasher <User> Hasher = new PasswordHasher <User>(); if (0 != Hasher.VerifyHashedPassword(user, user.password, loginVM.loginVM.loginPassword)) { //Handle success HttpContext.Session.SetString(LOGGED_IN_USER, user.first_name); } } ViewBag.loggedUser_name = user.first_name; ViewBag.loggedUser_email = user.email; return(RedirectToAction("Index")); }
public IActionResult LoginUser(LoginRegViewModel model) { var user = _context.Users.SingleOrDefault(p => p.Email == model.Login.Email); if (ModelState.IsValid) { if (user != null) { var Hasher = new PasswordHasher <User>(); var result = Hasher.VerifyHashedPassword(user, user.Password, model.Login.Password); if (result != 0) { HttpContext.Session.SetInt32("LoggedInUser", user.Id); return(RedirectToAction("Index", "Activity")); } } ModelState.AddModelError("Login.Email", "User could not be logged in."); } return(View("Index")); }
public IActionResult NewUser(LoginRegViewModel model) { if (ModelState.IsValid) { User user = new User() { FirstName = model.Register.FirstName, LastName = model.Register.LastName, Email = model.Register.Email }; PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, model.Register.Password); _context.Add(user); _context.SaveChanges(); User currUser = _context.Users.SingleOrDefault(p => p.Email == user.Email); HttpContext.Session.SetInt32("LoggedInUser", currUser.Id); return(RedirectToAction("Index", "Activity")); } return(View("Index")); }