在项目中如果使用了springSecurity安全认证,在使用中如果调用远程接口,那么需要主启动类中配置:
SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL);
将SecurityContextHolder 设置为可继承的属性。 因为hystrix会拦截所有的feign远程调用,并重启个线程去调用。因此这时的认证信息 SecurityContextHolder中会取不到。
当项目采用SpringSecurity进行安全认证时,调用远程接口需在主启动类配置SecurityContextHolder为MODE_INHERITABLETHREADLOCAL。因hystrix会重启线程调用Feign,原认证信息丢失。此配置使认证信息得以继承。
168万+

被折叠的 条评论
为什么被折叠?



