/// <summary> /// 新增 /// </summary> /// <param name="userEntity">用户实体</param> /// <returns></returns> public bool Insert(UserEntity userEntity) { using (var db = _dbContext.GetIntance()) { userEntity.SecretKey = AccountAuthHelper.CreateSecretKey(); userEntity.Password = AccountAuthHelper.CreatePassword(userEntity.Password, userEntity.SecretKey); var count = db.Insertable(userEntity).ExecuteCommand(); result = count > 0 ? true : false; } return(result); }
public ActionResult EditCurrentUserPassword(string newPassword, string Password) { var resultModel = new RespResultCountViewModel(); try { if (string.IsNullOrEmpty(newPassword) || string.IsNullOrEmpty(Password)) { resultModel.code = -1; resultModel.msg = "修改失败,缺少密码"; resultModel.data = null; return(Ok(resultModel)); } var user = _userService.IsExistByUserName(User.GetCurrentUserName()); if (user == null) { resultModel.code = -1; resultModel.msg = "修改失败,用户不存在"; resultModel.data = null; return(Ok(resultModel)); } if (!AccountAuthHelper.VerifyPassword(Password, user.SecretKey, user.Password)) { resultModel.code = -1; resultModel.msg = "当前密码输入错误!"; resultModel.data = null; return(Ok(resultModel)); } UserEntity userEntity = new UserEntity(); userEntity.ModifyDate = DateTime.Now; userEntity.ModifyUserId = User.GetCurrentUserId(); userEntity.ModifyUserName = User.GetCurrentUserName(); bool result = _userService.RevisePassword(User.GetCurrentUserId(), newPassword); if (result) { resultModel.code = 0; resultModel.msg = "修改成功"; } else { resultModel.code = -1; resultModel.msg = "修改失败"; } return(Ok(resultModel)); } catch (Exception ex) { resultModel.code = -1; resultModel.msg = "操作失败:" + ex.ToString(); return(Ok(resultModel)); } }
/// <summary> /// 修改用户登录密码 /// </summary> /// <param name="keyValue">主键值</param> /// <param name="Password">新密码(页面加密过的)</param> public bool RevisePassword(string keyValue, string Password) { using (var db = _dbContext.GetIntance()) { UserEntity userEntity = new UserEntity(); userEntity.UserId = keyValue; userEntity.SecretKey = AccountAuthHelper.CreateSecretKey(); userEntity.Password = AccountAuthHelper.CreatePassword(Password, userEntity.SecretKey); var count = db.Updateable(userEntity) .UpdateColumns(it => new UserEntity { Password = userEntity.Password, SecretKey = userEntity.SecretKey }) .Where(it => it.UserId == keyValue).ExecuteCommand(); result = count > 0 ? true : false; } return(result); }
public IActionResult LoginCheck(LoginViewModel loginViewModel) { var result = new RespLoginViewModel(); #region 非空验证 if (string.IsNullOrEmpty(loginViewModel.username)) { result.code = -1; result.msg = "用户名不能为空!"; return(new JsonResult(result)); } if (string.IsNullOrEmpty(loginViewModel.password)) { result.code = -1; result.msg = "密码不能为空!"; return(new JsonResult(result)); } #endregion try { #region 用户名和密码验证 var user = _authorizeService.CheckLogin(loginViewModel.username); if (user != null) { if (AccountAuthHelper.VerifyPassword(loginViewModel.password, user.SecretKey, user.Password)) { if (user.UserName == DataDictConst.USER_SUPERADMIN) { user.IsAdmin = 1; } result.code = 0; result.msg = "登录验证成功"; } else { result.code = -1; result.msg = "密码和用户名不匹配!"; return(new JsonResult(result)); } } else { result.code = -1; result.msg = "用户名不存在!"; return(new JsonResult(result)); } #endregion #region 策略授权 var ip = HttpContext.Features.Get <Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature>()?.RemoteIpAddress?.ToString();//获取IP地址 var claims = new Claim[] { new Claim(ClaimTypes.Name, user.UserName), new Claim(ClaimTypes.NameIdentifier, user.UserId), new Claim("OrganizeId", user.OrganizeId), new Claim("OrganizeName", user.OrganizeName), new Claim("DepId", user.DepId), new Claim("DepName", user.DepName), new Claim("RealName", user.RealName), new Claim("RoleName", _authorizeService.GetRoleName(user.UserId)), new Claim("IsAdmin", user.IsAdmin.ToString()) }; //生成token //var token = _tokenBuilder.BuildJwtToken(claims, ip, DateTime.UtcNow, DateTime.Now.AddSeconds(Convert.ToInt32(_audienceModel.expiration))); var token = _tokenBuilder.BuildJwtToken(claims, ip, DateTime.UtcNow, DateTime.Now.AddSeconds(1008000)); if (token != null) { result.data = token; result.RoleName = _authorizeService.GetRoleName(user.UserId); } else { result.code = -1; result.msg = "生成token出错!"; } #endregion } catch (Exception ex) { result.code = -1; result.msg = "异常错误!" + ex.Message; } return(new JsonResult(result)); }