Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public IActionResult Index()
        {
            RegLoginViewModel model = new RegLoginViewModel()
            {
                regUser   = null,
                loginUser = null
            };

            return(View(model));
        }
Exemplo n.º 3
0
        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));
        }