public IActionResult Register(IndexVMW newUser) { if (ModelState.IsValid) { if (dbContext.users.Any(u => u.email == newUser.user.email)) { ModelState.AddModelError("user.email", "This email is already in use."); return(View("Index")); } Validation v = new Validation(); v.detection_object = GetValidationObject(); string key = GetKey(newUser.user.first_name, newUser.user.last_name, newUser.user.email); System.Console.WriteLine("Keyyy: " + key); string encrypted_password = EncryptionFun(newUser.user.password, key); System.Console.WriteLine("Encrypted Pass: "******"user_id", newUser.user.user_id); return(Redirect("/success")); } return(View("Index")); }
public IActionResult ProcessRegister(IndexVMW newUser) { if (ModelState.IsValid) { if (dbContext.users.Any(u => u.email == newUser.user.email)) { ModelState.AddModelError("user.email", "Email already in use!"); return(View("Index")); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); newUser.user.password = Hasher.HashPassword(newUser.user, newUser.user.password); dbContext.Add(newUser.user); dbContext.SaveChanges(); HttpContext.Session.SetInt32("userID", newUser.user.user_id); return(Redirect("/bright_ideas")); } return(View("Index")); }
public IActionResult ProcessLogin(IndexVMW loggedUser) { if (ModelState.IsValid) { var userInDb = dbContext.users.FirstOrDefault(u => u.email == loggedUser.login.email); if (userInDb == null) { ModelState.AddModelError("login.email", "Invalid Email or Password."); return(View("Index")); } var hasher = new PasswordHasher <Login>(); var result = hasher.VerifyHashedPassword(loggedUser.login, userInDb.password, loggedUser.login.password); if (result == 0) { ModelState.AddModelError("login.email", "Invalid Email or Password."); return(View("Index")); } HttpContext.Session.SetInt32("userID", userInDb.user_id); return(Redirect("/bright_ideas")); } return(View("Index")); }
public IActionResult Login(IndexVMW userSubmission) { if (ModelState.IsValid) { var userInDb = dbContext.users.FirstOrDefault(u => u.email == userSubmission.login.email); // If no user exists with provided email if (userInDb == null) { // Add an error to ModelState and return to View! ModelState.AddModelError("login.email", "Invalid Email/Password"); return(View("Index")); } // Check if the password field empty if (userSubmission.login.password == null) { ModelState.AddModelError("login.email", "Invalid email/password"); return(View("Index")); } System.Console.WriteLine("Reallllllll : " + userSubmission.login.password); string realpass = userSubmission.login.password; // ----------------------------- // Get User Info. // ----------------------------- User loguser = dbContext.users.Include(a => a.validations).Include(p => p.pending_validations).SingleOrDefault(User => User.email == userSubmission.login.email); // Check valdation System.Console.WriteLine(" --- Get User Info "); string checkValdation = GetValidationObject(); System.Console.WriteLine("Check Valdation : " + checkValdation); // [email protected] // Keyyy: zb+8dI4/LyONOszmVtwWhNoTyc74h5hj3SmYxaTKMeg= // Encrypted Pass: lRXdUA93fR0dM9CtxKOVqQ== // Check password System.Console.WriteLine("first" + loguser.first_name + " last " + loguser.last_name); string key = GetKey(loguser.first_name, loguser.last_name, loguser.email); System.Console.WriteLine("Keyyyyy " + key); System.Console.WriteLine("Real Password: "******"Temp " + temp); System.Console.WriteLine(" encrypted pass: "******"log user pass: "******"Index")); } // Validation if (!loguser.validations.Any(a => a.detection_object == checkValdation)) { if (loguser.pending_validations.Any(p => p.detection_object == checkValdation)) { return(View("Index")); } if (checkValdation == null) { HttpContext.Session.SetString("email", userSubmission.login.email); return(Redirect("/security")); } PendingValidation newPend = new PendingValidation(); newPend.user_id = loguser.user_id; newPend.detection_object = checkValdation; dbContext.pending.Add(newPend); dbContext.SaveChanges(); // need more to send to security page HttpContext.Session.SetString("email", userSubmission.login.email); return(Redirect("/security")); } else { HttpContext.Session.SetInt32("user_id", loguser.user_id); return(Redirect("/success")); } } return(View("Index")); }