21 changed files with 192 additions and 89 deletions
@ -1,9 +1,8 @@
@@ -1,9 +1,8 @@
|
||||
package com.ruoyi.common.security.utils; |
||||
package com.ruoyi.common.core.utils; |
||||
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
||||
import com.ruoyi.common.core.constant.CacheConstants; |
||||
import com.ruoyi.common.core.text.Convert; |
||||
import com.ruoyi.common.core.utils.ServletUtils; |
||||
|
||||
/** |
||||
* 权限获取工具类 |
@ -0,0 +1,20 @@
@@ -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 @@
@@ -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