经过压力测试的Spring Security OAuth2安全上下文内存泄漏

问题描述

你们中的任何人都在安全上下文方面遇到过内存泄漏问题吗? 该问题在负载测试期间发生。

让我们说,我们将在50ms-60ms内完成工作的方法上同时发送10个请求:

  • 线程XNIO任务1具有有关user(1)的信息,
  • 线程XNIO任务2具有有关user(2)的信息, ......
  • 线程XNIO任务10具有有关user(10)的信息,

每个请求都有其他凭据

x-用户编号, y-线程号,

如果重复几次,我们将看到:

  • 在另一个请求中说具有用户(2)凭据的请求得到了线程号。 '7',最近使用user(4)凭据处理请求 某种程度上,SecurityContext将根据user(4)而不是user(2)返回用户主体

因此,在HTTP拦截器,http方法或通过request.getRemoteUser()/ SecurityContext / request.getUserPrincipal /进行身份验证的其他地方,我们将获得主体名称user(4)而不是user(2)

一些配置信息:

  • 会话->无状态,
  • 认线程本地策略,
  • auth:oauth2 / /(OAuth2Authentication),
  • 是的,我使用线程池,但不在请求范围内

也许我在某个地方犯了配置错误

依赖项:

  • 弹簧靴:2.3.3。发布
  • spring-security-oauth2-autoconfigure:2.3.3发布

感谢您的帮助/提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)