【发布时间】:2016-09-05 10:21:46
【问题描述】:
据我所知,对于@Async 请求,spring 安全过滤器链在每个请求中运行两次,因为它在入站请求线程上运行,然后被传递给在不同线程上运行的异步代码,然后当它尝试写入响应线程,安全过滤器链再次运行。我相信这是由于使用 ThreadLocal 来存储安全上下文。
我能够成功地将安全上下文传递到异步代码中,问题是每当我尝试编写响应时,过滤器链会再次运行。
我遇到了与此处描述的类似情况:
这是我们在使用 Spring Security 时应该考虑的简单预期行为,还是我缺少的配置会阻止过滤器链的第二次执行?
【问题讨论】:
标签: spring asynchronous spring-security