示例#1
0
        public IActionResult Login(RegWLog LogForm)
        {
            UserLog loggedUser = LogForm.UserLog;

            if (ModelState.IsValid)
            {
                var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == loggedUser.Email);
                if (userInDb == null)
                {
                    ModelState.AddModelError("UserLog.Email", "Invalid login");
                    return(View("Index"));
                }
                var hasher = new PasswordHasher <UserLog>();
                var result = hasher.VerifyHashedPassword(loggedUser, userInDb.Password, loggedUser.Password);
                if (result == 0)
                {
                    ModelState.AddModelError("UserLog.Password", "Invalid Login");
                    return(View("Index"));
                }

                HttpContext.Session.SetInt32("UserId", userInDb.UserId);
                return(RedirectToAction("Dashboard", new { id = userInDb.UserId }));
            }
            else
            {
                return(View("Index"));
            }
        }
示例#2
0
        public IActionResult Register(RegWLog newUser)
        {
            UserReg submittedUser = newUser.UserReg;

            if (ModelState.IsValid)
            {
                if (dbContext.Users.Any(u => u.Email == submittedUser.Email))
                {
                    ModelState.AddModelError("UserReg.Email", "Email already in use!");
                    return(View("Index"));
                }
                ;

                PasswordHasher <UserReg> Hasher = new PasswordHasher <UserReg>();
                submittedUser.Password = Hasher.HashPassword(submittedUser, submittedUser.Password);
                dbContext.Add(submittedUser);
                dbContext.SaveChanges();
                HttpContext.Session.SetInt32("UserId", submittedUser.UserId);
                return(RedirectToAction("Dashboard", new { id = submittedUser.UserId }));
            }
            else
            {
                return(View("Index"));
            }
        }