21 changed files with 192 additions and 89 deletions
@ -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