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 existHeaders = new HashSet(); if (attributes != null) { HttpServletRequest request = attributes.getRequest(); Enumeration 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 } }