/// <summary> /// 修改密码 /// </summary> /// <param name="model"></param> /// <returns></returns> public Result ChangePwd(ChangePwdModel model) { if (string.IsNullOrEmpty(model.OldPwd) || string.IsNullOrEmpty(model.NewPwd) || string.IsNullOrEmpty(model.ConfirmPwd)) { return(new Result(300, "密码不允许为空!")); } if (model.NewPwd != model.ConfirmPwd) { return(new Result(300, "新密码和确认密码不相同!")); } // 校验原密码 var query1 = Restrictions.Eq("Username", AdminHelper.Admin.Username); var query2 = Restrictions.Eq("Password", PasswordHelper.Crypt(model.OldPwd)); var query = Restrictions.And(query1, query2); var user = dal.Get(query); if (user == null) { return(new Result(300, "原密码错误!")); } // 修改密码 user.Password = PasswordHelper.Crypt(model.NewPwd); dal.Update(user); return(new Result(200, "密码修改成功!")); }
/// <summary> /// 添加 /// </summary> /// <param name="model"></param> /// <returns></returns> public override Result Add(User model) { // 不允许选择顶级机构 if (model.Dept != null && model.Dept.ID == 0) { return(new Result(300, "无法选择顶级机构!")); } // 判断用户名是否重复 var query = Restrictions.Eq("Username", model.Username); var count = dal.Count(query); if (count > 0) { return(new Result(300, "用户名重复,添加失败!")); } // 密码 if (string.IsNullOrEmpty(model.Password)) { return(new Result(300, "密码不允许为空")); } model.ID = 0; model.Password = PasswordHelper.Crypt(model.Password); model.Sort = model.Sort == null ? 0 : model.Sort.Value; model.AddTime = DateTime.Now; model.isAdmin = false; model.Status = 1; return(base.Add(model)); }
/// <summary> /// 登录 /// </summary> /// <param name="model"></param> /// <returns></returns> public LoginResult Login(LoginModel model) { var query1 = Restrictions.Eq("Username", model.Username); var query2 = Restrictions.Eq("Password", PasswordHelper.Crypt(model.Password)); var query = Restrictions.And(query1, query2); var user = dal.Get(query); if (user == null) { LogHelper.Info("用户" + model.Username + "登录失败!", type: LogType.User); return(new LoginResult(300, "用户名或密码错误!")); } // 生成登录票据 var cookie = FormsAuthentication.GetAuthCookie(user.Username, false); var ticket = FormsAuthentication.Decrypt(cookie.Value); var newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, user.ID.ToString()); // 将用户ID写入ticket cookie.Value = FormsAuthentication.Encrypt(newTicket); HttpContext.Current.Response.Cookies.Add(cookie); // 验证权限后将获得的用户信息写入Session HttpContext.Current.Session["__userID"] = user.ID.ToString(); LogHelper.Info("用户" + model.Username + "登录成功!", type: LogType.User); return(new LoginResult(200, "登录成功!", user, cookie.Value)); }
/// <summary> /// 添加用户 /// </summary> /// <param name="p"></param> /// <returns></returns> public Result Add(UserEditParam p) { // 不允许选择顶级机构 if (p.DeptID == 0) { return(new Result(300, "无法选择顶级机构!")); } // 判断用户名是否重复 var query = Restrictions.Eq("Username", p.Username); var count = dal.Count(query); if (count > 0) { return(new Result(300, "用户名重复,添加失败!")); } var user = new User { ID = 0, Username = p.Username, Password = PasswordHelper.Crypt(p.Password), Name = p.Name, Dept = p.DeptID == null ? null : new Dept { ID = p.DeptID.Value }, Role = p.RoleID == null ? null : new Role { ID = p.RoleID.Value }, Duty = p.Duty, Phone = p.Phone, Email = p.Email, Birthday = p.Birthday, Address = p.Address, Sort = p.Sort == null ? 0 : p.Sort, Comment = p.Comment, AddTime = DateTime.Now, isAdmin = false, Status = 1 }; if (p.SexID != null) { user.Sex = new DicItem { ID = p.SexID.Value }; } var result = dal.Add(user); if (result) { return(new Result(200, "添加成功!")); } else { return(new Result(300, "添加失败!")); } }
/// <summary> /// 重置用户密码 /// </summary> /// <param name="ID"></param> /// <returns></returns> public Result ResetPassword(int ID) { var initPassword = ConfigHelper.Get("UserInitPwd"); if (initPassword == null) { initPassword = "******"; } var model = dal.Get(ID); if (model == null) { return(new Result(300, "该用户不存在!")); } model.Password = PasswordHelper.Crypt(initPassword); dal.Edit(model); return(new Result(200, "密码重置成功!")); }