当前位置: 首页 > 知识库问答 >
问题:

Spring是否使SecurityContext对执行Hystrix命令的线程可用

尚声
2023-03-14

我正在运行一个spring boot应用程序,刚刚开始从Spring-Cloud-Netflix集成Hystrix。我正在使用@HystrixCommand包装一个用假客户机进行的服务到服务调用

@HystrixCommand(fallbackMethod = "updateThingFallback")
def updateRemoteThing(thingResourceClient: ThingResourceClient, thing: Thing) {
    thingResourceClient.updateThing(thing) // Call using feign client
}
SecurityContextHolder.getContext().getAuthentication();

我的问题是,spring是否提供了将Spring Security上下文(和应用程序上下文)传递给运行Hystrix命令的Hystrix线程的方法?

共有1个答案

洪开济
2023-03-14

从Spring Cloud Netflix 1.2.0开始,您可以使用配置参数与Hystrix共享安全上下文:

hystrix.shareseCurityContext:true

 类似资料:
  • 我正在使用以下示例配置一个示例应用程序:http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritage。在本节http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-ribbon中指出: Feign已经使用

  • 有没有人能说,是否可以通过我的android应用程序执行< code>adb命令。如果有可能执行,如何实现?

  • 假设一个docker容器用'docker run'运行,然后用'docker stop'停止。“docker start”之后会执行“cmd”命令吗?

  • 需要检测两个对象的状态,并且任务需要实时。run方法使用while(flag)循环通过更改flag=false来结束线程的生命周期。线程通常需要运行40分钟或更长时间。使用线程池将导致核心线程池耗尽,而任务将进入队列,因为每个线程将运行40分钟,每个线程的执行时间非常长且不固定,因此必须有许多线程无法及时响应。 我尝试使用新线程(runnable)。Start()而不是使用线程池ThreadPoo

  • 问题内容: 我有一个看起来像 当我手动运行它时效果很好,但是当我运行它时效果不佳。浏览日志后,我看到 看起来好像是百分号的问题,但是页面甚至根本不包含百分号,因此我认为它们还不错。 问题答案: 您必须使用反斜杠转义百分号: 来自: “第六”字段(行的其余部分)指定要运行的命令。该行的整个命令部分,直到换行符或%字符,将由/ bin / sh或crontab文件的SHELL变量中指定的shell执行

  • 为什么/我的目标: 我有一个由pi组成的小型网状网络,每天大部分时间都在运行脚本。我想取消停机时间,但是代码有时会在连续循环3-4天后停止工作,(有时长达一周,代码才会出现错误并停止)。 每个节点上运行的脚本用“最后签入”字段更新mySQL数据库。 我希望用Java编写一个小型后台程序,它将在我的服务器上无限期运行,时不时地检查每个站点的“最后签入”,如果它注意到一个节点宕机,远程ssh进入该节点