Ejemplo n.º 1
0
 public IActionResult Login(LoginReg FromForm)
 {
     if (ModelState.IsValid)
     {
         User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == FromForm.LoggedUserForm.Email);
         if (userInDb == null)
         {
             ModelState.AddModelError("LoggedUserForm.Email", "Invalid Email/Password");
             return(Index());
         }
         var hasher = new PasswordHasher <LoginUser>();
         var result = hasher.VerifyHashedPassword(FromForm.LoggedUserForm, userInDb.Password, FromForm.LoggedUserForm.Password);
         if (result == 0)
         {
             ModelState.AddModelError("LoggedUserForm.Password", "Wrong Password");
             return(Index());
         }
         else
         {
             HttpContext.Session.SetInt32("UserId", userInDb.UserId);
             return(RedirectToAction("Dashboard"));
         }
     }
     else
     {
         return(Index());
     }
 }
Ejemplo n.º 2
0
        public IActionResult Login(LoginRegViewModel modelData)
        {
            LoginReg userLogin = modelData.existingUser;

            if (ModelState.IsValid)
            {
                User userInDB = dbContext.users.FirstOrDefault(u => u.Email == userLogin.Email);
                if (userInDB == null)
                {
                    ModelState.AddModelError("Email", "Invalid email or password");
                    return(View("Index"));
                }
                else
                {
                    var hasher = new PasswordHasher <LoginReg>();
                    var result = hasher.VerifyHashedPassword(userLogin, userInDB.Password, userLogin.Password);
                    if (result == 0)
                    {
                        ModelState.AddModelError("Password", "Invalid email or password");
                        return(View("Index"));
                    }
                    if (HttpContext.Session.GetInt32("UserId") == null)
                    {
                        HttpContext.Session.SetInt32("UserId", userInDB.UserId);
                    }
                    return(RedirectToAction("Dashboard"));
                }
            }
            else
            {
                return(View("Index"));
            }
        }
Ejemplo n.º 3
0
 public IActionResult Register(LoginReg FromForm)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.Users.Any(u => u.Email == FromForm.UserForm.Email))
         {
             ModelState.AddModelError("UserForm.Email", "Email is already in use!");
             return(Index());
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         FromForm.UserForm.Password = Hasher.HashPassword(FromForm.UserForm, FromForm.UserForm.Password);
         dbContext.Users.Add(FromForm.UserForm);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("UserId", FromForm.UserForm.UserId);
         return(RedirectToAction("Dashboard"));
     }
     return(Index());
 }
Ejemplo n.º 4
0
        public IActionResult Login(LoginReg user)
        {
            PasswordVerificationResult hasherResult;

            if (ModelState.IsValid)
            {
                var userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.LoginDetail.Email);

                // If no user exists with provided email
                if (userInDb == null)
                {
                    System.Console.WriteLine("Not in database");
                    ModelState.AddModelError("Email", "Invalid Email/Password");
                    IncrementLogInattempts();
                    Console.WriteLine($"attempts: {this.LoginAttempts.ToString()}");
                    ViewBag.Attempts = this.LoginAttempts.ToString();
                }
                else
                {
                    // ModelState.AddModelError("Email", "Invalid Email/Password");
                    var hasher = new PasswordHasher <Login>();
                    // verify provided password against hash stored in db
                    hasherResult = hasher.VerifyHashedPassword(user.LoginDetail, userInDb.Password, user.LoginDetail.Password);
                    if (hasherResult != 0)
                    {
                        SetLoggedInStatus(userInDb.UserId);
                        // ViewBag.Transactions = GetUserTransactions(); // for use with partial

                        ClearLoginAttempts();
                        return(RedirectToAction("DojoActivities"));
                    }
                    else
                    {
                        ModelState.AddModelError("LoginDetail.Password", "Invalid Email/Password");
                        IncrementLogInattempts();
                        return(View("Register"));
                    }
                }
            }
            ModelState.AddModelError("LoginDetail.Password", "Invalid Email/Password");
            IncrementLogInattempts();
            return(View("Register"));
            // return View("Register", user);
        }