public ActionResult <object> ModifySysUserByPwd(string userPwd, string newPwd) { var userLogin = GetLoginUser(HttpContext); var user = _repository.GetSysUserById(userLogin.UserId); if (CryptogramHelper.GetMd5Hash(userPwd) == user.UserPwd) { user.UserPwd = CryptogramHelper.GetMd5Hash(newPwd); return(_repository.ModifySysUser(user).ResponseSuccessFailure()); } return(false.ResponseDataError("旧密码错误")); }
public ActionResult <object> Login(string username, string password) { if (username.IsNullOrWhiteSpace() || password.IsNullOrWhiteSpace()) { return(false.ResponseDataError("参数为空")); } var user = _repository.GetSysUserByName(username); if (user == null) { return(false.ResponseDataError("账号或密码错误")); } if (CryptogramHelper.GetMd5Hash(password) != user.UserPwd) { if (user.IsLock && user.ModifyTime.Date == DateTime.Now.Date) { return(false.ResponseUnknown("账户错误次数过多,请明天在尝试")); } if (user.ModifyTime.Date != DateTime.Now.Date) { user.ErrorCount = 0; user.IsLock = false; } user.ErrorCount += 1; user.ModifyTime = DateTime.Now; //修改时间 if (user.ErrorCount >= 5) { user.IsLock = true; } _repository.ModifySysUserAsync(user); //异步更新数据 return(false.ResponseDataError("账号或密码错误")); } var roleIds = new List <int> { user.RoleId }; var model = new { token = SetLoginToken(user, roleIds), name = user.UserName, avatar = AppSettingsHelper.GetString("LoginUserAvatarUrl", "#"), introduction = user.UserCode, roles = roleIds.GetStringJoin(",") }; user.ErrorCount = 0; user.IsLock = false; user.ModifyTime = DateTime.Now; //修改时间 _repository.ModifySysUserAsync(user); //异步更新数据 _cache.Set(model.token.GetHashCode(), model.token, DateTimeOffset.Now.AddHours(1)); //缓存数据1小时 return(model.ResponseSuccess()); }
public ActionResult <object> ResetSysUserByPwd(int userId, string pwd) { var user = _repository.GetSysUser(userId); if (user == null) { return(false.ResponseDataError()); } user.UserPwd = CryptogramHelper.GetMd5Hash(pwd); user.IsLock = false; user.ErrorCount = 0; return(_repository.ModifySysUser(user).ResponseSuccessFailure()); }
/// <summary> /// 插入用户 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool AddSysUser(SysUserEntity model) { model.ModifyTime = DateTime.Now; model.UserPwd = CryptogramHelper.GetMd5Hash(model.UserPwd); return(_service.Insert(model)); }