|
|
@@ -20,12 +20,11 @@ import com.alibaba.fastjson.JSONObject;
|
|
20
|
20
|
import com.ruoyi.common.core.constant.CacheConstants;
|
|
21
|
21
|
import com.ruoyi.common.core.constant.Constants;
|
|
22
|
22
|
import com.ruoyi.common.core.domain.R;
|
|
|
23
|
+import com.ruoyi.common.core.utils.ServletUtils;
|
|
23
|
24
|
import com.ruoyi.common.core.utils.StringUtils;
|
|
24
|
25
|
import com.ruoyi.common.redis.service.RedisService;
|
|
25
|
26
|
import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
|
|
26
|
27
|
import reactor.core.publisher.Mono;
|
|
27
|
|
-import java.io.UnsupportedEncodingException;
|
|
28
|
|
-import java.net.URLEncoder;
|
|
29
|
28
|
|
|
30
|
29
|
/**
|
|
31
|
30
|
* 网关鉴权
|
|
|
@@ -70,7 +69,7 @@ public class AuthFilter implements GlobalFilter, Ordered
|
|
70
|
69
|
}
|
|
71
|
70
|
JSONObject obj = JSONObject.parseObject(userStr);
|
|
72
|
71
|
String userid = obj.getString("userid");
|
|
73
|
|
- String username = urlEncode(obj.getString("username"));
|
|
|
72
|
+ String username = obj.getString("username");
|
|
74
|
73
|
if (StringUtils.isBlank(userid) || StringUtils.isBlank(username))
|
|
75
|
74
|
{
|
|
76
|
75
|
return setUnauthorizedResponse(exchange, "令牌验证失败");
|
|
|
@@ -80,7 +79,7 @@ public class AuthFilter implements GlobalFilter, Ordered
|
|
80
|
79
|
redisService.expire(getTokenKey(token), EXPIRE_TIME);
|
|
81
|
80
|
// 设置用户信息到请求
|
|
82
|
81
|
ServerHttpRequest mutableReq = exchange.getRequest().mutate().header(CacheConstants.DETAILS_USER_ID, userid)
|
|
83
|
|
- .header(CacheConstants.DETAILS_USERNAME, username).build();
|
|
|
82
|
+ .header(CacheConstants.DETAILS_USERNAME, ServletUtils.urlEncode(username)).build();
|
|
84
|
83
|
ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
|
|
85
|
84
|
|
|
86
|
85
|
return chain.filter(mutableExchange);
|
|
|
@@ -106,18 +105,6 @@ public class AuthFilter implements GlobalFilter, Ordered
|
|
106
|
105
|
}
|
|
107
|
106
|
|
|
108
|
107
|
/**
|
|
109
|
|
- * 编码
|
|
110
|
|
- */
|
|
111
|
|
- private String urlEncode(String value) {
|
|
112
|
|
- try {
|
|
113
|
|
- value = URLEncoder.encode(value, "UTF-8");
|
|
114
|
|
- } catch (UnsupportedEncodingException e) {
|
|
115
|
|
- e.printStackTrace();
|
|
116
|
|
- }
|
|
117
|
|
- return value;
|
|
118
|
|
- }
|
|
119
|
|
-
|
|
120
|
|
- /**
|
|
121
|
108
|
* 获取请求token
|
|
122
|
109
|
*/
|
|
123
|
110
|
private String getToken(ServerHttpRequest request)
|