public ActionResult Index()
        {
            LoginDetailsViewModel vm = new LoginDetailsViewModel();

            this.logDataModel = null;
            return(View(vm));
        }
Example #2
0
 /// <summary>
 /// Maps the login detais to data model.
 /// </summary>
 /// <param name="vm">The vm.</param>
 /// <param name="dataModel">The data model.</param>
 internal static void MapLoginDetaisToDataModel(LoginDetailsViewModel vm, LogDataModel dataModel)
 {
     dataModel.UserId   = vm.UserId;
     dataModel.Password = vm.Password;
     dataModel.Region   = vm.LoginRegion;
     dataModel.SqlQuery = vm.LoginQuery;
     dataModel.SqlQuery = HelperClass.ReplaceKey(dataModel.SqlQuery, "Region", dataModel.Region);
 }
Example #3
0
        public ActionResult Login(LoginDetailsViewModel loginData)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Invalid Username or Password.");
                return(View(loginData));
            }

            ResumeBuilderDBContext dbContext = new ResumeBuilderDBContext();

            if (!dbContext.Logins.Any(m => m.Username == loginData.UserName))
            {
                ModelState.AddModelError("", "Username does not exist.");
                return(View(loginData));
            }
            else
            {
                try
                {
                    var    userLoginDetails     = dbContext.Logins.FirstOrDefault(m => m.Username == loginData.UserName);
                    var    saltBytes            = Encoding.UTF8.GetBytes(userLoginDetails.Salt);
                    byte[] enteredPasswordBytes = PasswordSecurity.ComputeHMAC_SHA256(Encoding.UTF8.GetBytes(loginData.Password), saltBytes);
                    byte[] savedPasswordBytes   = Encoding.UTF8.GetBytes(userLoginDetails.Password);

                    if (PasswordSecurity.MatchSHA(savedPasswordBytes, enteredPasswordBytes))
                    {
                        if (Session.Count == 0)
                        {
                            Session["UserID"] = userLoginDetails.UserID;
                            return(RedirectToAction("Index", "Resume"));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Session already exists. Try Again.");
                            return(View(loginData));
                        }
                    }
                    else
                    {
                        throw new UnauthorizedAccessException();
                    }
                }
                catch (UnauthorizedAccessException)
                {
                    ModelState.AddModelError("", "Wrong Password. Try Again.");
                    return(View(loginData));
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Oops!!! Something went wrong. Try Again.");
                    return(View(loginData));
                }
            }
        }
        public ActionResult Index(LoginDetailsViewModel vm)
        {
            Mapper.MapLoginDetaisToDataModel(vm, logDataModel);

            if (!GetExceedData.VerifyLogin(this.logDataModel))
            {
                TempData.Add("LoginStatus", "Login Failed");
                this.logDataModel = null;
                return(View(vm));
            }

            return(RedirectToAction("Welcome"));
        }
Example #5
0
        public IHttpActionResult SignUp(LoginDetailsViewModel login)
        {
            bool isValidEmail = comm.IsValidEmail(login.Email);

            if (!isValidEmail)
            {
                return(Content(HttpStatusCode.BadRequest, "Invalid Email address"));
            }

            if (!login.IsForgotPass)
            {
                String passErrMsg  = String.Empty;
                bool   isValidPass = comm.ValidatePassword(login.Password, out passErrMsg);
                if (!isValidPass)
                {
                    return(Content(HttpStatusCode.BadRequest, passErrMsg));
                }
            }

            try
            {
                //string pass = Membership.GeneratePassword(4, 0);
                string pass = login.Password;
                services.Common.PasswordCryptoService crypto = new services.Common.PasswordCryptoService();
                string encpass = crypto.EncryptText(pass);
                if (login.IsForgotPass)
                {
                    service.UpdatePass(new models.DatabaseTable.user
                    {
                        Email    = login.Email,
                        Username = login.Email,
                        Password = encpass
                    });
                }
                else
                {
                    service.Add(new models.DatabaseTable.user
                    {
                        Email       = login.Email,
                        Username    = login.Email,
                        Password    = encpass,
                        CreatedDate = DateTime.Now
                    });
                }
                return(Ok());
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Example #6
0
        public ActionResult Register(LoginDetailsViewModel registrationDetails)
        {
            if (!ModelState.IsValid)
            {
                return(View(registrationDetails));
            }

            ResumeBuilderDBContext dbContext = new ResumeBuilderDBContext();

            if (dbContext.Logins.Any(m => m.Username == registrationDetails.UserName))
            {
                ModelState.AddModelError("", "User already exists.");
                return(View(registrationDetails));
            }
            else
            {
                try
                {
                    byte[] saltBytes            = PasswordSecurity.GenerateSalt();
                    string saltString           = Convert.ToBase64String(saltBytes);
                    byte[] hashedPasswordBytes  = PasswordSecurity.ComputeHMAC_SHA256(Encoding.UTF8.GetBytes(registrationDetails.Password), saltBytes);
                    string hashedPasswordString = Convert.ToBase64String(hashedPasswordBytes);

                    UserDetails newUser = new UserDetails
                    {
                        DateOfBirth = DateTime.Now
                    };

                    Login newLogin = new Login
                    {
                        Username    = registrationDetails.UserName,
                        Password    = hashedPasswordString,
                        Salt        = saltString,
                        UserDetails = newUser
                    };

                    dbContext.Logins.Add(newLogin);
                    dbContext.SaveChanges();
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Something went wrong try again.");
                    return(View(registrationDetails));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(registrationDetails));
        }
Example #7
0
 public LoginDetailsView(LoginDetailsViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }