服务之间feign调用传递用户请求头
parent
073d90ed17
commit
3a9d45a7dd
@ -1,9 +1,8 @@
|
|||||||
package com.ruoyi.common.security.utils;
|
package com.ruoyi.common.core.utils;
|
||||||
|
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
import com.ruoyi.common.core.constant.CacheConstants;
|
import com.ruoyi.common.core.constant.CacheConstants;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.core.utils.ServletUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限获取工具类
|
* 权限获取工具类
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.common.security.feign;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import feign.RequestInterceptor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feign 配置注册
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
**/
|
||||||
|
@Configuration
|
||||||
|
public class FeignAutoConfiguration
|
||||||
|
{
|
||||||
|
@Bean
|
||||||
|
public RequestInterceptor requestInterceptor()
|
||||||
|
{
|
||||||
|
return new FeignRequestInterceptor();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.ruoyi.common.security.feign;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import com.ruoyi.common.core.constant.CacheConstants;
|
||||||
|
import com.ruoyi.common.core.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.core.utils.StringUtils;
|
||||||
|
import feign.RequestInterceptor;
|
||||||
|
import feign.RequestTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* feign 请求拦截器
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class FeignRequestInterceptor implements RequestInterceptor
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void apply(RequestTemplate requestTemplate)
|
||||||
|
{
|
||||||
|
HttpServletRequest httpServletRequest = ServletUtils.getRequest();
|
||||||
|
if (StringUtils.isNotNull(httpServletRequest))
|
||||||
|
{
|
||||||
|
Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest);
|
||||||
|
// 传递用户信息请求头,防止丢失
|
||||||
|
String userId = headers.get(CacheConstants.DETAILS_USER_ID);
|
||||||
|
if (StringUtils.isNotEmpty(userId))
|
||||||
|
{
|
||||||
|
requestTemplate.header(CacheConstants.DETAILS_USER_ID, userId);
|
||||||
|
}
|
||||||
|
String userName = headers.get(CacheConstants.DETAILS_USERNAME);
|
||||||
|
if (StringUtils.isNotEmpty(userName))
|
||||||
|
{
|
||||||
|
requestTemplate.header(CacheConstants.DETAILS_USERNAME, userName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue