public async Task <List <string> > GetPermissionsAsync(long userId, IEnumerable <string> permissions, string validationVersion = null) { var userValidateInfo = await _cacheService.GetUserValidateInfoFromCacheAsync(userId); if (userValidateInfo.RoleIds.IsNullOrWhiteSpace()) { return(default);
public async Task <AppSrvResult> UpdatePasswordAsync(long id, UserChangePwdDto input) { var user = await _cacheService.GetUserValidateInfoFromCacheAsync(id); if (user == null) { return(Problem(HttpStatusCode.NotFound, "用户不存在,参数信息不完整")); } var md5OldPwdString = HashHelper.GetHashedString(HashType.MD5, input.OldPassword, user.Salt); if (!md5OldPwdString.EqualsIgnoreCase(user.Password)) { return(Problem(HttpStatusCode.BadRequest, "旧密码输入错误")); } var newPwdString = HashHelper.GetHashedString(HashType.MD5, input.Password, user.Salt); await _userRepository.UpdateAsync(new SysUser { Id = user.Id, Password = newPwdString }, UpdatingProps <SysUser>(x => x.Password)); return(AppSrvResult()); }
public async Task <RoleTreeDto> GetRoleTreeListByUserIdAsync(long userId) { RoleTreeDto result = null; IEnumerable <ZTreeNodeDto <long, dynamic> > treeNodes = null; var user = await _cacheService.GetUserValidateInfoFromCacheAsync(userId); if (user == null) { return(null); } var roles = await _cacheService.GetAllRolesFromCacheAsync(); var roleIds = user.RoleIds?.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(x => long.Parse(x)) ?? new List <long>(); if (roles.Any()) { treeNodes = roles.Select(x => new ZTreeNodeDto <long, dynamic> { Id = x.Id, PID = x.Pid.HasValue ? x.Pid.Value : 0, Name = x.Name, Open = x.Pid.HasValue && x.Pid.Value > 0 ? false : true, Checked = roleIds.Contains(x.Id) }); result = new RoleTreeDto { TreeData = treeNodes.Select(x => new Node <long> { Id = x.Id, PID = x.PID, Name = x.Name, Checked = x.Checked }), CheckedIds = treeNodes.Where(x => x.Checked).Select(x => x.Id) }; } return(result); }
public async Task <UserValidateDto> GetUserValidateInfoAsync(long id) => await _cacheService.GetUserValidateInfoFromCacheAsync(id);