ai-manus/chat-server/src/main/java/com/bjtds/brichat/config/FeignConfiguration.java

71 lines
2.0 KiB
Java
Raw Normal View History

2025-07-18 16:38:18 +08:00
package com.bjtds.brichat.config;
import com.bjtds.common.utils.FeignSudoUtil;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.HashSet;
/**
* fegin 配置文件
*
*
* 2019年3月29日
*/
@Component
public class FeignConfiguration extends FeignSudoUtil implements RequestInterceptor {
@Override
public void apply(RequestTemplate template) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HashSet<String> existHeaders = new HashSet<String>();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
existHeaders.add(name);
String values = this.filterHeader(name, request.getHeader(name));
if (values != null) {
template.header(name, values);
}
}
}
}
// for ZB {
if (!existHeaders.contains("__User__")) {
template.header("__User__", "1");
}
if (!existHeaders.contains("__UserName__")) {
template.header("__UserName__","admin");
}
if (!existHeaders.contains("__Role__")) {
template.header("__Role__", "SuperUsers");
}
if (!existHeaders.contains("__Department__")) {
template.header("__Department__", "");
}
if (!existHeaders.contains("__Permission__")) {
template.header("__Permission__", "*:*:*");
}
// } for ZB
}
}