|  | @@ -20,12 +20,11 @@ import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.constant.CacheConstants;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.constant.Constants;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.domain.R;
 | 
	
		
			
				|  |  | +import com.ruoyi.common.core.utils.ServletUtils;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.utils.StringUtils;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.redis.service.RedisService;
 | 
	
		
			
				|  |  |  import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
 | 
	
		
			
				|  |  |  import reactor.core.publisher.Mono;
 | 
	
		
			
				|  |  | -import java.io.UnsupportedEncodingException;
 | 
	
		
			
				|  |  | -import java.net.URLEncoder;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 网关鉴权
 | 
	
	
		
			
				|  | @@ -70,7 +69,7 @@ public class AuthFilter implements GlobalFilter, Ordered
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          JSONObject obj = JSONObject.parseObject(userStr);
 | 
	
		
			
				|  |  |          String userid = obj.getString("userid");
 | 
	
		
			
				|  |  | -        String username = urlEncode(obj.getString("username"));
 | 
	
		
			
				|  |  | +        String username = obj.getString("username");
 | 
	
		
			
				|  |  |          if (StringUtils.isBlank(userid) || StringUtils.isBlank(username))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              return setUnauthorizedResponse(exchange, "令牌验证失败");
 | 
	
	
		
			
				|  | @@ -80,7 +79,7 @@ public class AuthFilter implements GlobalFilter, Ordered
 | 
	
		
			
				|  |  |          redisService.expire(getTokenKey(token), EXPIRE_TIME);
 | 
	
		
			
				|  |  |          // 设置用户信息到请求
 | 
	
		
			
				|  |  |          ServerHttpRequest mutableReq = exchange.getRequest().mutate().header(CacheConstants.DETAILS_USER_ID, userid)
 | 
	
		
			
				|  |  | -                .header(CacheConstants.DETAILS_USERNAME, username).build();
 | 
	
		
			
				|  |  | +                .header(CacheConstants.DETAILS_USERNAME, ServletUtils.urlEncode(username)).build();
 | 
	
		
			
				|  |  |          ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return chain.filter(mutableExchange);
 | 
	
	
		
			
				|  | @@ -105,18 +104,6 @@ public class AuthFilter implements GlobalFilter, Ordered
 | 
	
		
			
				|  |  |          return CacheConstants.LOGIN_TOKEN_KEY + token;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 编码
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    private String urlEncode(String value) {
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -            value = URLEncoder.encode(value, "UTF-8");
 | 
	
		
			
				|  |  | -        } catch (UnsupportedEncodingException e) {
 | 
	
		
			
				|  |  | -            e.printStackTrace();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return value;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 获取请求token
 | 
	
		
			
				|  |  |       */
 |