Exemple #1
0
        public IActionResult Login(LoginAndReg user)
        {
            if (TryValidateModel("logmodel"))
            {
                // If inital ModelState is valid, query for a user with provided email
                var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.logmodel.Email);
                // If no user exists with provided email
                if (userInDb == null)
                {
                    // Add an error to ModelState and return to View!
                    ModelState.AddModelError("Email", "Invalid Email/Password");
                    return(View("index", user));
                }

                // Initialize hasher object
                var hasher = new PasswordHasher <Login>();

                // varify provided password against hash stored in db
                var result = hasher.VerifyHashedPassword(user.logmodel, userInDb.Password, user.logmodel.Password);

                // result can be compared to 0 for failure
                if (result == 0)
                {
                    // handle failure (this should be similar to how "existing email" is handled)
                    ModelState.AddModelError("Password", "Incorrect Password");
                    return(View("index", user));
                }
                HttpContext.Session.SetInt32("CurrentUser", userInDb.UserId);
                return(RedirectToAction("DashboardView", "Wedding"));
            }
            return(View("index", user));
        }
        public IActionResult CheckingUser(LoginAndReg userSubmission)
        {
            if (ModelState.IsValid)
            {
                var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == userSubmission.CheckUser.Email);

                if (userInDb == null)
                {
                    ModelState.AddModelError("CheckUser.Email", "Email does not excist");
                    return(View("Index"));
                }

                var hasher = new PasswordHasher <Login>();
                var result = hasher.VerifyHashedPassword(userSubmission.CheckUser, userInDb.Password, userSubmission.CheckUser.Password);

                if (result == 0)
                {
                    ModelState.AddModelError("CheckUser.Password", "Wrong password");
                    return(View("Index"));
                }

                HttpContext.Session.SetInt32("InSession", userInDb.UserId);
                return(RedirectToAction("Dashboard"));
            }

            return(View("Index"));
        }
Exemple #3
0
        public IActionResult Register(LoginAndReg Register)

        {
            if (TryValidateModel("regmodel"))
            {
                if (dbContext.Users.Any(u => u.Email == Register.regmodel.Email))
                {
                    ModelState.AddModelError("Email", "Email already in use!");
                    return(View("index", Register));
                }
                PasswordHasher <User> hasher = new PasswordHasher <User>();
                User newUser = new User
                {
                    FirstName = Register.regmodel.FirstName,
                    LastName  = Register.regmodel.LastName,
                    Email     = Register.regmodel.Email,
                    Password  = hasher.HashPassword(Register.regmodel, Register.regmodel.Password)
                };
                dbContext.Add(newUser);
                dbContext.SaveChanges();
                HttpContext.Session.SetInt32("CurrentUser", Register.regmodel.UserId);
                return(RedirectToAction("DashboardView", "Wedding"));
            }
            return(View("Index", Register));
        }
        public IActionResult Register(LoginAndReg createUser)
        {
            if (ModelState.IsValid)
            {
                if (dbContext.Users.Any(u => u.Email == createUser.NewUser.Email))
                {
                    ModelState.AddModelError("NewUser.Email", "Email is already in use");
                    return(View("Index"));
                }

                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                createUser.NewUser.Password = Hasher.HashPassword(createUser.NewUser, createUser.NewUser.Password);

                dbContext.Add(createUser.NewUser);
                dbContext.SaveChanges();

                HttpContext.Session.SetInt32("InSession", createUser.NewUser.UserId);

                return(RedirectToAction("Dashboard"));
            }

            return(View("Index"));
        }