|
@@ -1,9 +1,14 @@
|
|
package com.dragonsoft.dcuc.approvegateway.filter;
|
|
package com.dragonsoft.dcuc.approvegateway.filter;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
|
|
|
|
+import com.dragonsoft.duceap.base.utils.UserContextUtils;
|
|
import com.dragonsoft.duceap.commons.util.ip.IpUtils;
|
|
import com.dragonsoft.duceap.commons.util.ip.IpUtils;
|
|
|
|
+import com.dragonsoft.duceap.security.jwt.JwtTokenUtils;
|
|
import com.netflix.zuul.ZuulFilter;
|
|
import com.netflix.zuul.ZuulFilter;
|
|
import com.netflix.zuul.context.RequestContext;
|
|
import com.netflix.zuul.context.RequestContext;
|
|
import com.netflix.zuul.exception.ZuulException;
|
|
import com.netflix.zuul.exception.ZuulException;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
|
|
import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
@@ -18,8 +23,9 @@ import java.util.Map;
|
|
* @author huangzqa
|
|
* @author huangzqa
|
|
* @date 2021/6/29
|
|
* @date 2021/6/29
|
|
*/
|
|
*/
|
|
|
|
+@Slf4j
|
|
@Component
|
|
@Component
|
|
-public class ForwardForFilter extends ZuulFilter {
|
|
|
|
|
|
+public class UserInfoForwardForFilter extends ZuulFilter {
|
|
@Override
|
|
@Override
|
|
public String filterType() {
|
|
public String filterType() {
|
|
return FilterConstants.PRE_TYPE;
|
|
return FilterConstants.PRE_TYPE;
|
|
@@ -42,6 +48,13 @@ public class ForwardForFilter extends ZuulFilter {
|
|
String realIpAdrress = IpUtils.getRealIpAdrress(request);
|
|
String realIpAdrress = IpUtils.getRealIpAdrress(request);
|
|
Map<String, String> zuulRequestHeaders = currentContext.getZuulRequestHeaders();
|
|
Map<String, String> zuulRequestHeaders = currentContext.getZuulRequestHeaders();
|
|
zuulRequestHeaders.put("HTTP_X_FORWARDED_FOR", realIpAdrress);
|
|
zuulRequestHeaders.put("HTTP_X_FORWARDED_FOR", realIpAdrress);
|
|
|
|
+ BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
|
|
|
|
+ log.info("====登录用户信息:{}====", JSONObject.toJSONString(currentUser));
|
|
|
|
+ if (currentUser != null) {
|
|
|
|
+ String jwtToken = JwtTokenUtils.getAlgorithmGen(JwtTokenUtils.AlgorithmType.HS256).sign(currentUser);
|
|
|
|
+ currentContext.addZuulRequestHeader(JwtTokenUtils.AUTHORIZATION_HEADER, JwtTokenUtils.TOKEN_PREFIX + jwtToken);
|
|
|
|
+ log.info("登录jwtToken:{}", jwtToken);
|
|
|
|
+ }
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|