Ejemplo n.º 1
0
        public IActionResult Register(IndexVMW newUser)
        {
            if (ModelState.IsValid)
            {
                if (dbContext.users.Any(u => u.email == newUser.user.email))
                {
                    ModelState.AddModelError("user.email", "This email is already in use.");
                    return(View("Index"));
                }
                Validation v = new Validation();
                v.detection_object = GetValidationObject();
                string key = GetKey(newUser.user.first_name, newUser.user.last_name, newUser.user.email);
                System.Console.WriteLine("Keyyy: " + key);
                string encrypted_password = EncryptionFun(newUser.user.password, key);
                System.Console.WriteLine("Encrypted Pass: "******"user_id", newUser.user.user_id);
                return(Redirect("/success"));
            }
            return(View("Index"));
        }
Ejemplo n.º 2
0
 public IActionResult ProcessRegister(IndexVMW newUser)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.users.Any(u => u.email == newUser.user.email))
         {
             ModelState.AddModelError("user.email", "Email already in use!");
             return(View("Index"));
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         newUser.user.password = Hasher.HashPassword(newUser.user, newUser.user.password);
         dbContext.Add(newUser.user);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("userID", newUser.user.user_id);
         return(Redirect("/bright_ideas"));
     }
     return(View("Index"));
 }
Ejemplo n.º 3
0
 public IActionResult ProcessLogin(IndexVMW loggedUser)
 {
     if (ModelState.IsValid)
     {
         var userInDb = dbContext.users.FirstOrDefault(u => u.email == loggedUser.login.email);
         if (userInDb == null)
         {
             ModelState.AddModelError("login.email", "Invalid Email or Password.");
             return(View("Index"));
         }
         var hasher = new PasswordHasher <Login>();
         var result = hasher.VerifyHashedPassword(loggedUser.login, userInDb.password, loggedUser.login.password);
         if (result == 0)
         {
             ModelState.AddModelError("login.email", "Invalid Email or Password.");
             return(View("Index"));
         }
         HttpContext.Session.SetInt32("userID", userInDb.user_id);
         return(Redirect("/bright_ideas"));
     }
     return(View("Index"));
 }
Ejemplo n.º 4
0
        public IActionResult Login(IndexVMW userSubmission)
        {
            if (ModelState.IsValid)
            {
                var userInDb = dbContext.users.FirstOrDefault(u => u.email == userSubmission.login.email);
                // If no user exists with provided email
                if (userInDb == null)
                {
                    // Add an error to ModelState and return to View!
                    ModelState.AddModelError("login.email", "Invalid Email/Password");
                    return(View("Index"));
                }
                // Check if the password field empty
                if (userSubmission.login.password == null)
                {
                    ModelState.AddModelError("login.email", "Invalid email/password");
                    return(View("Index"));
                }
                System.Console.WriteLine("Reallllllll : " + userSubmission.login.password);
                string realpass = userSubmission.login.password;
                // -----------------------------
                // Get User Info.
                // -----------------------------
                User loguser = dbContext.users.Include(a => a.validations).Include(p => p.pending_validations).SingleOrDefault(User => User.email == userSubmission.login.email);
                // Check valdation
                System.Console.WriteLine("     --- Get User Info ");


                string checkValdation = GetValidationObject();
                System.Console.WriteLine("Check Valdation : " + checkValdation);

                // [email protected]
                // Keyyy: zb+8dI4/LyONOszmVtwWhNoTyc74h5hj3SmYxaTKMeg=
                // Encrypted Pass: lRXdUA93fR0dM9CtxKOVqQ==
                // Check password
                System.Console.WriteLine("first" + loguser.first_name + " last " + loguser.last_name);
                string key = GetKey(loguser.first_name, loguser.last_name, loguser.email);
                System.Console.WriteLine("Keyyyyy " + key);
                System.Console.WriteLine("Real Password: "******"Temp " + temp);
                System.Console.WriteLine(" encrypted pass: "******"log user pass: "******"Index"));
                }

                // Validation
                if (!loguser.validations.Any(a => a.detection_object == checkValdation))
                {
                    if (loguser.pending_validations.Any(p => p.detection_object == checkValdation))
                    {
                        return(View("Index"));
                    }
                    if (checkValdation == null)
                    {
                        HttpContext.Session.SetString("email", userSubmission.login.email);
                        return(Redirect("/security"));
                    }
                    PendingValidation newPend = new PendingValidation();
                    newPend.user_id          = loguser.user_id;
                    newPend.detection_object = checkValdation;
                    dbContext.pending.Add(newPend);
                    dbContext.SaveChanges();
                    // need more to send to security page
                    HttpContext.Session.SetString("email", userSubmission.login.email);
                    return(Redirect("/security"));
                }
                else
                {
                    HttpContext.Session.SetInt32("user_id", loguser.user_id);
                    return(Redirect("/success"));
                }
            }
            return(View("Index"));
        }