public ActionResult Update(int userid, string RetypePassword, string[] AssignRoles) { if (userid <= 0) { throw new HttpRequestValidationException(); } IRBACRoleProvider _RoleProvider = IoC.Resolve <IRBACRoleProvider>(); IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); AccountModels model = new AccountModels(); user _model = _MemberShipProvider.GetUser(userid, false); string oldpassHash = _model.password; //giu lai username khong cho sua string username = _model.username; try { TryUpdateModel(_model); if (_model.username != username) { throw new HttpRequestValidationException(); } AssignRoles = AssignRoles ?? new string[] { }; if (_model.password != RetypePassword) { List <String> lst = new List <string>(_RoleProvider.GetAllRoles()); model.RetypePassword = _model.password = oldpassHash; model.AllRoles = lst.ToArray(); model.UserRoles = _RoleProvider.GetRolesForUser(_model.username); model.tmpUser = _model; Messages.AddErrorMessage("Nhập đúng mật khẩu của bạn."); return(View("Edit", model)); } if (RetypePassword != oldpassHash) { _model.password = FormsAuthentication.HashPasswordForStoringInConfigFile(RetypePassword, "MD5"); } _model.FailedPasswordAttemptCount = 0; _MemberShipProvider.UpdateUser(_model); _RoleProvider.UpdateUsersToRoles(_model.username, AssignRoles); Messages.AddFlashMessage("Cập nhật thông tin thành công."); logSrv.CreateNew(FXContext.Current.CurrentUser.userid, "User - Update : " + string.Format("Update: {0} by {1}", _model.username, HttpContext.User.Identity.Name), "Update User Success ", LogType.Success, HttpContext.Request.UserHostAddress, HttpContext.Request.Browser.Browser); return(RedirectToAction("index")); } catch (Exception ex) { logSrv.CreateNew(FXContext.Current.CurrentUser.userid, "User - Update ", "Update User Error " + ex, LogType.Error, HttpContext.Request.UserHostAddress, HttpContext.Request.Browser.Browser); List <String> lst = new List <string>(_RoleProvider.GetAllRoles()); model.RetypePassword = _model.password = oldpassHash; model.AllRoles = lst.ToArray(); model.UserRoles = _RoleProvider.GetRolesForUser(_model.username); model.tmpUser = _model; Messages.AddErrorMessage("Có lỗi xảy ra, vui lòng thực hiện lại!"); return(View("Edit", model)); } }
public ActionResult SaveServiceRole(int userid, string RetypePassword) { if (userid <= 0) { throw new HttpRequestValidationException(); } IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); IRBACRoleProvider _RoleProvider = IoC.Resolve <IRBACRoleProvider>(); Company currentCom = ((EInvoiceContext)FXContext.Current).CurrentCompany; user model = _MemberShipProvider.GetUser(userid, false); if (HttpContext.User.Identity.Name == model.username) { Messages.AddErrorFlashMessage(Resources.Message.User_UMesCantEdit); return(RedirectToAction("ServiceRoleIndex")); } string oldpassHash = model.password; string username = model.username; string email = model.email; try { TryUpdateModel(model); model.username = username; if (model.password != RetypePassword) { ViewData["RetypePassword"] = model.password; Messages.AddErrorFlashMessage(Resources.Message.User_MesConfirmPass); return(View("ServiceRoleEdit", model)); } if (RetypePassword != oldpassHash) { model.password = GeneratorPassword.EncodePassword(RetypePassword, model.PasswordFormat, model.PasswordSalt);//FormsAuthentication.HashPasswordForStoringInConfigFile(RetypePassword, "MD5"); } model.FailedPasswordAttemptCount = 0; _MemberShipProvider.UpdateUser(model); _RoleProvider.UpdateUsersToRoles(model.username, new string[] { "ServiceRole" }); Messages.AddFlashMessage(Resources.Message.User_UMesSuccess); log.Info("ServiceRoleUpdate by: " + HttpContext.User.Identity.Name + "Info-- tai khoan " + model.username); return(RedirectToAction("ServiceRoleIndex")); } catch (Exception ex) { ViewData["RetypePassword"] = model.password; log.Error("ServiceRoleUpdate-" + ex.Message); Messages.AddFlashException(ex); return(View("ServiceRoleEdit", model)); } }
public ActionResult ChangePassword(ChangePasswordModel model) { if (model.UserName != HttpContext.User.Identity.Name) { throw new HttpRequestValidationException(); } IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); user oUser = _MemberShipProvider.GetUser(model.UserName, true); try { if (oUser.password == FormsAuthentication.HashPasswordForStoringInConfigFile(model.oldPassword, "MD5")) { //kiem tra va luu vao csdl if (model.NewPassword != model.oldPassword && model.NewPassword == model.RetypePassword) { oUser.password = FormsAuthentication.HashPasswordForStoringInConfigFile(model.NewPassword, "MD5"); _MemberShipProvider.UpdateUser(oUser); Messages.AddFlashMessage("Thay đổi mật khẩu thành công!"); } //truong hop pass moi va pass cu bang nhau else if (model.NewPassword == model.oldPassword) { Messages.AddErrorMessage("Mật khẩu mới và mật khẩu cũ giống nhau"); return(View(model)); } //truong hop pass moi va pass go lai khong bang nhau else if (model.NewPassword != model.RetypePassword) { Messages.AddErrorMessage("Mật khẩu mới và mật khẩu mới nhập lại không giống nhau"); return(View(model)); } return(RedirectToAction("Index", "Home")); } else { Messages.AddErrorMessage("Nhập sai mật khẩu cũ !"); return(View(model)); } } catch (Exception ex) { logSrv.CreateNew(FXContext.Current.CurrentUser.userid, "User - ChangePassword", " User ChangePasword Error " + ex, LogType.Error, HttpContext.Request.UserHostAddress, HttpContext.Request.Browser.Browser); Messages.AddErrorMessage("Có lỗi trong quá trình xử lý!"); return(View(model)); } }
public ActionResult ChangePassword(ChangePasswordModel model) { IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); user _oUser = _MemberShipProvider.GetUser(model.username, true); try { if (_oUser.password == GeneratorPassword.EncodePassword(model.OldPassword, _oUser.PasswordFormat, _oUser.PasswordSalt)) { if (model.NewPassword != model.OldPassword && model.NewPassword == model.ConfirmPassword) { _oUser.PasswordSalt = GeneratorPassword.GenerateSalt(); _oUser.password = GeneratorPassword.EncodePassword(model.NewPassword, _oUser.PasswordFormat, _oUser.PasswordSalt); _MemberShipProvider.UpdateUser(_oUser); log.Info("Change Password By: " + HttpContext.User.Identity.Name + " Info-- UserName: "******" ID: " + _oUser.userid + "------"); Messages.AddFlashMessage(Resources.Message.User_MesChangePasswordSuccess); } else if (model.NewPassword == model.OldPassword) { Messages.AddErrorMessage(Resources.Message.User_MesNewPassLikeOldPass); return(View(model)); } else if (model.NewPassword != model.ConfirmPassword) { Messages.AddErrorMessage(Resources.Message.User_MesErrConfirmPass); return(View(model)); } return(RedirectToAction("Index", "Home")); } else { Messages.AddErrorMessage(Resources.Message.User_MesWrongPass); return(View(model)); } } catch (Exception ex) { log.Error("Error ChangePassword:"******"Có lỗi xảy ra, vui lòng thực hiện lại!"); return(View(model)); } }
public IHttpActionResult UserdataInfo(UserdataInfo data) { IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); IRBACRoleProvider _RoleProvider = IoC.Resolve <IRBACRoleProvider>(); if (string.IsNullOrWhiteSpace(data.username) || string.IsNullOrWhiteSpace(data.password)) { return(Ok <string>("ERROR:1"));//Cần nhập đủ thông tin } try { //Tao tai khoan string status = ""; user u = _MemberShipProvider.GetUser(data.username, false); if (u != null) { u.email = data.email; if (data.ChangePass) { u.password = GeneratorPassword.EncodePassword(data.password, u.PasswordFormat, u.PasswordSalt); } u.FailedPasswordAttemptCount = 0; //update lai tai khoan _MemberShipProvider.UpdateUser(u); return(Ok <string>("OK")); } Company currentCom = ((EInvoiceContext)FXContext.Current).CurrentCompany; _MemberShipProvider.CreateUser(data.username, data.password, data.email, null, null, data.IsApproved, null, currentCom.id.ToString(), out status); if (status != "Success") { return(Ok <string>("ERROR:2"));//Status != Success } return(Ok <string>("OK")); } catch (Exception ex) { return(Ok <string>("ERROR:3")); } }
public ActionResult UpdatePasswordCustomer(string username, string newPassword, string confirmPassword) { IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); user userCustomer = _MemberShipProvider.GetUser(username, true); if (userCustomer == null) { Messages.AddErrorFlashMessage("Tài khoản không có trên hệ thống."); return(RedirectToAction("Index", "Customer")); } try { if (newPassword == confirmPassword) { userCustomer.PasswordSalt = GeneratorPassword.GenerateSalt(); userCustomer.password = GeneratorPassword.EncodePassword(newPassword, userCustomer.PasswordFormat, userCustomer.PasswordSalt); _MemberShipProvider.UpdateUser(userCustomer); Messages.AddFlashMessage(Resources.Message.User_MesChangePasswordSuccess); } else { Messages.AddErrorMessage(Resources.Message.User_MesErrConfirmPass); ChangePasswordModel model = new ChangePasswordModel(); model.username = username; return(View(model)); } return(RedirectToAction("Index", "Customer")); } catch (Exception ex) { log.Error("Error", ex); Messages.AddErrorMessage("Có lỗi xảy ra, vui lòng thực hiện lại!"); ChangePasswordModel model = new ChangePasswordModel(); model.username = username; return(View("ChangePasswordCustomer", model)); } }
public ActionResult LogOn(LogOnModel _model, string captch) { string ip = Request.UserHostAddress == "::1"? "127.0.0.1" : Request.UserHostAddress; //if (!string.IsNullOrWhiteSpace(ipSecurity) && !ipSecurity.Contains(ip)) //{ // _model.lblErrorMessage = "Địa chỉ của bạn không được truy cập vào trang web."; // _model.Password = ""; // return View(_model); //} if (string.IsNullOrWhiteSpace(captch)) { _model.lblErrorMessage = "Nhập đúng mã xác thực."; _model.Password = ""; return(View(_model)); } bool cv = CaptchaController.IsValidCaptchaValue(captch); if (!cv) { _model.lblErrorMessage = "Nhập đúng mã xác thực."; _model.Password = ""; return(View(_model)); } FanxiAuthenticationBase _authenticationService = IoC.Resolve <FanxiAuthenticationBase>(); try { if (_model.UserName.Trim() != null && _model.Password != null) { if (_authenticationService.LogOn(_model.UserName.Trim(), _model.Password.Trim()) == true) { return(RedirectToAction("Index", "Home")); } else { IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); user TempUser = _MemberShipProvider.GetUser(_model.UserName, true); if (TempUser != null) { if (TempUser.FailedPasswordAttemptCount >= 5) { _model.lblErrorMessage = "Tài khoản đã bị khóa."; } else { TempUser.FailedPasswordAttemptCount++; if (TempUser.FailedPasswordAttemptCount == 5) { TempUser.IsLockedOut = true; } _model.lblErrorMessage = "Tài khoản hoặc mật khẩu đăng nhập không đúng"; _MemberShipProvider.UpdateUser(TempUser); } return(View(_model)); } _model.lblErrorMessage = "Tài khoản hoặc mật khẩu đăng nhập không đúng"; _model.Password = ""; return(View(_model)); } } else { _model.Password = ""; return(View("LogOn", _model)); } } catch (Exception ex) { _model.lblErrorMessage = "Tài khoản hoặc mật khẩu đăng nhập không đúng"; _model.Password = ""; return(View("LogOn", _model)); } }
public ActionResult Update(int id, string RetypePassword, string[] UserRoles, string fullname) { if (id <= 0) { throw new HttpRequestValidationException(); } IRBACMembershipProvider _MemberShipProvider = IoC.Resolve <IRBACMembershipProvider>(); IRBACRoleProvider _RoleProvider = IoC.Resolve <IRBACRoleProvider>(); user Ouser = _MemberShipProvider.GetUser(id, false); if (HttpContext.User.Identity.Name == Ouser.username) { Messages.AddErrorFlashMessage(Resources.Message.User_UMesCantEdit); return(RedirectToAction("index")); } //lay doi tuong tai khoan cu string OldPassword = Ouser.password; string Oldusername = Ouser.username; AccountModel model = new AccountModel(); try { TryUpdateModel <user>(Ouser); if (Ouser.password != RetypePassword) { Messages.AddErrorMessage(Resources.Message.User_MesConfirmPass); List <String> lst = new List <string>(_RoleProvider.GetAllRoles()); if (lst.IndexOf("ServiceRole") >= 0) { lst.RemoveAt(lst.IndexOf("ServiceRole")); } if (lst.IndexOf("Root") >= 0) { lst.RemoveAt(lst.IndexOf("Root")); } model.RetypePassword = Ouser.password = OldPassword; model.AllRoles = lst.ToArray(); model.UserRoles = _RoleProvider.GetRolesForUser(Ouser.userid); model.UserTmp = Ouser; return(View("Edit", model)); } if (Ouser.password != OldPassword) { Ouser.PasswordSalt = GeneratorPassword.GenerateSalt(); Ouser.password = GeneratorPassword.EncodePassword(Ouser.password, Ouser.PasswordFormat, Ouser.PasswordSalt);//FormsAuthentication.HashPasswordForStoringInConfigFile(RetypePassword, "MD5"); } Ouser.FailedPasswordAttemptCount = 0; //update lai tai khoan _MemberShipProvider.UpdateUser(Ouser); model.UserRoles = UserRoles ?? new string[] { }; _RoleProvider.UpdateUsersToRoles(Ouser.userid, model.UserRoles); Messages.AddFlashMessage(Resources.Message.User_UMesSuccess); log.Info("Update Account:" + HttpContext.User.Identity.Name + ", Date: " + DateTime.Now); Company currentComp = ((EInvoiceContext)FXContext.Current).CurrentCompany; IStaffService _staSrv = IoC.Resolve <IStaffService>(); Staff sta = _staSrv.SearchByAccountName(Ouser.username, currentComp.id); sta.FullName = fullname; _staSrv.UpdateStaff(sta); return(RedirectToAction("index")); } catch (Exception ex) { log.Error("Error Update:", ex); Messages.AddErrorMessage("Có lỗi xảy ra, vui lòng thực hiện lại!"); List <String> lst = new List <string>(_RoleProvider.GetAllRoles()); if (lst.IndexOf("ServiceRole") >= 0) { lst.RemoveAt(lst.IndexOf("ServiceRole")); } if (lst.IndexOf("Root") >= 0) { lst.RemoveAt(lst.IndexOf("Root")); } model.RetypePassword = Ouser.password = OldPassword; model.AllRoles = lst.ToArray(); model.UserRoles = _RoleProvider.GetRolesForUser(Ouser.userid); model.UserTmp = Ouser; return(View("Edit", model)); } }