Exemplo n.º 1
0
        public IActionResult Register(LogRegWrapper FromForm)
        {
            if (ModelState.IsValid)
            {
                // Unique validation
                if (DbContext.DbUsers.Any(u => u.Email == FromForm.Register.Email))
                {
                    ModelState.AddModelError("Register.Email", "Already registered? Please Log In.");
                    return(LogReg());
                }
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                FromForm.Register.Password = Hasher.HashPassword(FromForm.Register, FromForm.Register.Password);

                DbContext.Add(FromForm.Register);
                DbContext.SaveChanges();


                HttpContext.Session.SetInt32("UserId", FromForm.Register.UserId);
                return(RedirectToAction("Dashboard"));
            }
            else
            {
                return(LogReg());
            }
        }
Exemplo n.º 2
0
        public IActionResult Login(LogRegWrapper FromForm)
        {
            if (ModelState.IsValid)
            {
                User InDb = DbContext.DbUsers.FirstOrDefault(u => u.Email == FromForm.Login.Email);

                if (InDb == null)
                {
                    ModelState.AddModelError("Login.Email", "Invalid email/password");
                    return(LogReg());
                }

                PasswordHasher <LogUser>   Hasher = new PasswordHasher <LogUser>();
                PasswordVerificationResult Result = Hasher.VerifyHashedPassword(FromForm.Login, InDb.Password, FromForm.Login.Password);

                if (Result == 0)
                {
                    ModelState.AddModelError("Login.Email", "Invalid email/password");
                    return(LogReg());
                }
                HttpContext.Session.SetInt32("UserId", InDb.UserId);
                return(RedirectToAction("Dashboard"));
            }
            else
            {
                return(LogReg());
            }
        }
Exemplo n.º 3
0
 public IActionResult Logging(LogRegWrapper user)
 {
     if (ModelState.IsValid)
     {
         User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.Login.Email);
         if (userInDb == null)
         {
             ModelState.AddModelError("Login.Email", "Invalid Email/Password");
             return(Registration());
         }
         PasswordHasher <LoggedUser> Hasher = new PasswordHasher <LoggedUser>();
         PasswordVerificationResult  Result = Hasher.VerifyHashedPassword(user.Login, userInDb.Password, user.Login.Password);
         if (Result == 0)
         {
             ModelState.AddModelError("Login.Email", "Invalid Email/Password");
             return(Registration());
         }
         HttpContext.Session.SetInt32("UserId", userInDb.UserId);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(Registration());
     }
 }
Exemplo n.º 4
0
 public IActionResult Logged(LogRegWrapper logged)
 {
     if (ModelState.IsValid)
     {
         var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == logged.ThisLoginUser.Email);
         if (userInDb == null)
         {
             ModelState.AddModelError("ThisLoginUser.Email", "Invalid Email/Password");
             return(View("Index"));
         }
         var hasher = new PasswordHasher <LoginUser>();
         var result = hasher.VerifyHashedPassword(logged.ThisLoginUser, userInDb.Password, logged.ThisLoginUser.Password);
         if (result == 0)
         {
             ModelState.AddModelError("ThisLoginUser.Email", "Invalid Email/Password");
             return(View("Index"));
         }
         HttpContext.Session.SetInt32("UserId", userInDb.UserId);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(View("Index"));
     }
 }
        public IActionResult Verify(LogRegWrapper Form)
        {
            if (ModelState.IsValid)
            {
                var inDB = _context.Users.FirstOrDefault(u => u.Email == Form.LoginUser.Email);

                if (inDB == null)
                {
                    ModelState.AddModelError("Email", "Invalid Email/Passoword");
                    return(View("LogReg"));
                }
                var hasher = new PasswordHasher <LoginUser>();
                var result = hasher.VerifyHashedPassword(Form.LoginUser, inDB.Password, Form.LoginUser.Password);

                if (result == 0)
                {
                    ModelState.AddModelError("Password", "Are you sure you belong here?");
                    return(View("LogReg"));
                }

                User ThisUser = _context.Users.FirstOrDefault(u => u.Email == Form.LoginUser.Email);

                HttpContext.Session.SetInt32("UserID", ThisUser.UserID);

                return(RedirectToAction("Dashboard"));
            }

            return(View("LogReg"));
        }
        public IActionResult CreateUser(LogRegWrapper Form)
        {
            if (ModelState.IsValid)
            {
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                Form.NewUser.Password = Hasher.HashPassword(Form.NewUser, Form.NewUser.Password);

                _context.Add(Form.NewUser);
                _context.SaveChanges();

                User ThisUser = _context.Users.FirstOrDefault(i => i.Email == Form.NewUser.Email);
                HttpContext.Session.SetInt32("UserID", ThisUser.UserID);

                return(RedirectToAction("Dashboard"));
            }
            return(View("LogReg"));
        }
 public IActionResult Login(LogRegWrapper FromForm)
 {
     if (ModelState.IsValid)
     {
         User InDb = dbContext.Users.FirstOrDefault(u => u.Email == FromForm.Login.LogEmail);
         if (InDb == null)
         {
             ModelState.AddModelError("Login.LogEmail", "Invalid Email or Password");
             return(Index());
         }
         HttpContext.Session.SetInt32("UserId", InDb.UserId);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(Index());
     }
 }
Exemplo n.º 8
0
 public IActionResult Registering(LogRegWrapper user)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.Users.Any(u => u.Email == user.Register.Email))
         {
             ModelState.AddModelError("Register.Email", "Already Registered? Please Log In.");
             return(Registration());
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         user.Register.Password = Hasher.HashPassword(user.Register, user.Register.Password);
         dbContext.Users.Add(user.Register);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("UserId", user.Register.UserId);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(Registration());
     }
 }
Exemplo n.º 9
0
 public IActionResult New(LogRegWrapper newUser)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.Users.Any(u => u.Email == newUser.ThisUser.Email))
         {
             ModelState.AddModelError("ThisUser.Email", "Email already in use!");
             return(View("Index"));
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         newUser.ThisUser.Password = Hasher.HashPassword(newUser.ThisUser, newUser.ThisUser.Password);
         dbContext.Add(newUser.ThisUser);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("UserId", newUser.ThisUser.UserId);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(View("Index"));
     }
 }
Exemplo n.º 10
0
        public IActionResult Login(LogRegWrapper userSub) //Had to change because we are passing this a wrapper model
        {
            LogUser userSubmission = userSub.logUser;     //made an instance of LogUser from the wrapper model to userSubmission in order to continue using userSubmission and not changing it throughout!

            if (ModelState.IsValid)
            {
                // If inital ModelState is valid, query for a user with provided email
                var userInDb = dbContext.users.FirstOrDefault(u => u.alias == userSubmission.log_alias);
                // If no user exists with provided email
                if (userInDb == null)
                {
                    // Add an error to ModelState and return to View!
                    string msg = "Invalid Email/Password!";
                    return(RedirectToAction("Index", new { msg = msg }));
                }

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

                // verify provided password against hash stored in db
                var result = hasher.VerifyHashedPassword(userSubmission, userInDb.password, userSubmission.log_password);

                // result can be compared to 0 for failure
                if (result == 0)
                {
                    string msg = "Invalid Email/Password!";
                    return(RedirectToAction("Index", new { msg = msg }));
                }
                else
                {
                    HttpContext.Session.SetInt32("User", userInDb.UserId);
                    return(RedirectToAction("Dashboard", "Home"));
                }
            }
            else
            {
                return(View("Index"));
            }
        }
Exemplo n.º 11
0
 public IActionResult LoginValidate(LogRegWrapper LogRegWrapper)
 {
     if (ModelState.IsValid)
     {
         var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == LogRegWrapper.Login.Email);
         if (userInDb == null)
         {
             ModelState.AddModelError("Email", "Invalid Email/Password");
             return(View("Index"));
         }
         var hasher = new PasswordHasher <Login>();
         var result = hasher.VerifyHashedPassword(LogRegWrapper.Login, userInDb.Password, LogRegWrapper.Login.Password);
         if (result == 0)
         {
             ModelState.AddModelError("Email", "Invalid Email/Password");
             return(View("Index"));
         }
         HttpContext.Session.SetInt32("userID", userInDb.UserID);
         return(RedirectToAction("Dashboard"));
     }
     return(View("Index"));
 }