Beispiel #1
0
        public ActionResult ChangePassword(ChangePasswordFirstLoginModel changePassword)
        {
            if (ModelState.IsValid)
            {
                var storedUserpassword = _password.GetPasswordbyUserId(Convert.ToInt64(Session["ChangePasswordUserId"]));
                var usersalt           = _userMaster.GetUserSaltbyUserid(Convert.ToInt64(Session["ChangePasswordUserId"]));
                var userrole           = Session["ChangeRoleId"];
                var generatehash       = GenerateHashSha512.Sha512(changePassword.CurrentPassword, usersalt.PasswordSalt);
                var rolesModel         = _savedAssignedRoles.GetAssignedRolesbyUserId(Convert.ToInt64(Session["ChangePasswordUserId"]));


                if (changePassword.CurrentPassword == changePassword.NewPassword)
                {
                    ModelState.AddModelError("", @"New Password Cannot be same as Old Password");
                    return(View(changePassword));
                }

                if (!string.Equals(storedUserpassword, generatehash, StringComparison.Ordinal))
                {
                    ModelState.AddModelError("", "Current Password Entered is InValid");
                    return(View(changePassword));
                }

                if (!string.Equals(changePassword.NewPassword, changePassword.ConfirmPassword, StringComparison.Ordinal))
                {
                    TempData["ChangePasswordErrorMessage"] = "Something Went Wrong Please Try Again!";
                    return(View(changePassword));
                }
                else
                {
                    var userid             = Convert.ToInt64(Session["ChangePasswordUserId"]);
                    var usermasterModel    = _userMaster.GetUserById(userid);
                    var salt               = GenerateRandomNumbers.RandomNumbers(20);
                    var saltedpassword     = GenerateHashSha512.Sha512(changePassword.NewPassword, salt);
                    var result             = _password.UpdatePasswordandHistory(userid, saltedpassword, salt, "C");
                    var resultIsFirstLogin = _userMaster.UpdateIsFirstLogin(userid);
                    if (result && resultIsFirstLogin > 0)
                    {
                        TempData["ChangePasswordMessage"] = "Password Changed Successfully You might need to sign in again";
                        AssignSessionValues(usermasterModel, rolesModel);
                        return(RedirectionManager(usermasterModel, rolesModel));
                    }
                    else
                    {
                        TempData["ChangePasswordErrorMessage"] = "Something Went Wrong Please Try Again!";
                        return(View(changePassword));
                    }
                }
            }

            return(View(changePassword));
        }
Beispiel #2
0
        public ActionResult Login(LoginViewModel loginViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (!this.IsCaptchaValid("Captcha is not valid"))
                    {
                        ModelState.AddModelError("", "Error: captcha is not valid.");
                        return(View(new LoginViewModel()));
                    }

                    if (!_iUserMaster.CheckUsernameExists(loginViewModel.Username))
                    {
                        ModelState.AddModelError("", "Invalid Credentails");
                        return(View(loginViewModel));
                    }

                    AesAlgorithm aesAlgorithm    = new AesAlgorithm();
                    var          usermasterModel = _iUserMaster.GetUserByUsername(loginViewModel.Username);
                    var          storedpassword  = aesAlgorithm.DecryptString(_password.GetPasswordbyUserId(usermasterModel.UserId));

                    if (storedpassword == loginViewModel.Password)
                    {
                        Session["UserID"]   = usermasterModel.UserId;
                        Session["Username"] = usermasterModel.UserName;
                        int UserID = Convert.ToInt32(usermasterModel.UserId);
                        VW_ProcessByUserManager context             = new VW_ProcessByUserManager(new DataContext());
                        VW_ProcessByUser        objVW_ProcessByUser = context.GetProcessByUserById(UserID);
                        if (objVW_ProcessByUser != null)
                        {
                            Session["UserProcess"] = objVW_ProcessByUser.ProcessName != null ? objVW_ProcessByUser.ProcessName : "";
                        }
                        var user = _iUserMaster.GetUserById(UserID);
                        SetOnlineUser(UserID.ToString());
                        Session["UserPhoto"] = user.ImageName;
                        if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId) != null)
                        {
                            // 1 is SuperAdmin
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["SuperAdminRolekey"]))
                            {
                                Session["Role"]     = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                Session["RoleName"] = "SuperAdmin";
                                return(RedirectToAction("Dashboard", "SuperDashboard"));
                            }

                            // 2 is User
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["UserRolekey"]))
                            {
                                Session["Role"]     = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                Session["RoleName"] = "User";
                                return(RedirectToAction("Dashboard", "UserDashboard"));
                            }

                            // 3 is Admin
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["AdminRolekey"]))
                            {
                                Session["Role"]     = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                Session["RoleName"] = "Admin";
                                return(RedirectToAction("Dashboard", "AdminDashboard"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "Access Not Assigned");
                            return(View(loginViewModel));
                        }

                        return(RedirectToAction("Dashboard", "Dashboard"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Invalid Credentails");
                        return(View(loginViewModel));
                    }
                }
                else
                {
                    return(View(loginViewModel));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #3
0
        public ActionResult Login(LoginViewModel loginViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //if (!this.IsCaptchaValid("Captcha is not valid"))
                    //{
                    //    ModelState.AddModelError("", "Error: captcha is not valid.");
                    //    return View(new LoginViewModel());
                    //}

                    if (!_password.CheckEmailExists(loginViewModel.EmailId))
                    {
                        ModelState.AddModelError("", "Invalid Credentails");
                        return(View(loginViewModel));
                    }

                    AesAlgorithm aesAlgorithm    = new AesAlgorithm();
                    var          usermasterModel = _password.GetCheckUserEmailExists(loginViewModel.EmailId);
                    var          storedpassword  = aesAlgorithm.DecryptString(_password.GetPasswordbyUserId(usermasterModel.UserEmail));

                    if (storedpassword == loginViewModel.Password)
                    {
                        Session["UserID"]   = usermasterModel.UserId;
                        Session["Username"] = usermasterModel.UserEmail;

                        if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId) != null)
                        {
                            // 1 is SuperAdmin
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["SuperAdminRolekey"]))
                            {
                                Session["Role"] = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                return(RedirectToAction("Dashboard", "SuperDashboard"));
                            }

                            // 2 is User
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["UserRolekey"]))
                            {
                                Session["Role"] = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                return(RedirectToAction("Dashboard", "UserDashboard"));
                            }

                            // 3 is Admin
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId == Convert.ToInt32(ConfigurationManager.AppSettings["CustomerRolekey"]))
                            {
                                Session["Role"] = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId).RoleId;
                                return(RedirectToAction("Dashboard", "AdminDashboard"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "Access Not Assigned");
                            return(View(loginViewModel));
                        }

                        return(RedirectToAction("Dashboard", "Dashboard"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Invalid Credentails");
                        return(View(loginViewModel));
                    }
                }
                else
                {
                    return(View(loginViewModel));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #4
0
        public ActionResult Login(LoginViewModel loginViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (!_iUserMaster.CheckUsernameExists(loginViewModel.Username))
                    {
                        TempData["LoginErrors"] = "Invalid Credentials";
                        return(View(loginViewModel));
                    }

                    var usermasterModel = _iUserMaster.GetUserByUsername(loginViewModel.Username);
                    if (usermasterModel != null)
                    {
                        if (usermasterModel.Status == false)
                        {
                            TempData["LoginErrors"] = "User Account is Deactivated Please Contact Admin";
                            return(View(loginViewModel));
                        }

                        var usersalt = _iUserMaster.GetUserSaltbyUserid(Convert.ToInt64(usermasterModel.UserId));
                        if (usersalt == null)
                        {
                            TempData["LoginErrors"] = "Entered Username or Password is Invalid";
                            return(View());
                        }

                        var storedpassword = _password.GetPasswordbyUserId(usermasterModel.UserId);
                        if (storedpassword == null)
                        {
                            TempData["LoginErrors"] = "Invalid Credentials";
                            return(View(loginViewModel));
                        }

                        var generatehash = GenerateHashSha512.Sha512(loginViewModel.Password, usersalt.PasswordSalt);


                        if (string.Equals(storedpassword, generatehash, StringComparison.Ordinal))
                        {
                            if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId) != null)
                            {
                                var rolesModel = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId);

                                if (rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.User))
                                {
                                    if (!_verification.CheckIsEmailVerifiedRegistration(usermasterModel.UserId))
                                    {
                                        TempData["LoginErrors"] = "Please Verify Your Email-Id to Use Application";
                                        return(View(loginViewModel));
                                    }

                                    ApplicationCustomSettings applicationCustomSettings = new ApplicationCustomSettings();
                                    if (applicationCustomSettings.GetGeneralSetting().EnableEmailFeature&& _verify.CheckVerificationCodeExists(usermasterModel.UserId))
                                    {
                                        TempData["LoginErrors"] = "Please Verify Your Email-Id to Use Application";
                                        return(View(loginViewModel));
                                    }
                                }


                                if (rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.Agent) || rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.AgentAdmin) || rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.Hod))
                                {
                                    if (!IsCategogryAssigned(usermasterModel, rolesModel))
                                    {
                                        TempData["LoginErrors"] = "Category is not Assigned, Please contact your administrator";
                                        return(View(loginViewModel));
                                    }
                                }

                                if (usermasterModel.IsFirstLogin)
                                {
                                    Session["ChangePasswordUserId"] = usermasterModel.UserId;
                                    Session["ChangeRoleId"]         = rolesModel.RoleId;
                                    return(RedirectToAction("ChangePassword", "Force"));
                                }

                                AssignSessionValues(usermasterModel, rolesModel);
                                return(RedirectionManager(usermasterModel, rolesModel));
                            }
                            else
                            {
                                TempData["LoginErrors"] = "Access Not Assigned";
                                return(View(loginViewModel));
                            }
                        }
                        else
                        {
                            TempData["LoginErrors"] = "Invalid Credentials";
                            return(View(loginViewModel));
                        }
                    }
                    else
                    {
                        TempData["LoginErrors"] = "Invalid Credentials";
                        return(View(loginViewModel));
                    }
                }
                else
                {
                    return(View(loginViewModel));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }