春季安全策略MODE_INHERITABLETHREADLOCAL。为什么?

时间:2015-08-12 14:18:55

标签: security spring-security thread-local

我理解在Spring Security Strategy中使用MODE_THREADLOCAL和MODE_INHERITABLETHREADLOCAL时会发生什么以及会发生什么。我不明白的是,为什么有人会使用MODE_THREADLOCAL而不是MODE_INHERITABLETHREADLOCAL。

  1. 使用one over other会对内存造成影响吗?如果是的话,是吗? 足够重要?
  2. 使用MODE_INHERITABLETHREADLOCAL的典型业务/功能用例是什么?
  3. 任何与使用其中一种不同的表现?

1 个答案:

答案 0 :(得分:2)

  1. 使用这两者的记忆影响可以忽略不计

  2. 在某些环境中,通常会启动新线程来执行后台任务。有时开发人员不希望创建的Thread自动包含SecurityContext。在这些情况下,最好使用MODE_THREADLOCAL。如果代表当前用户启动任务,则可能需要传播SecurityContext。在这种情况下,MODE_INHERITABLETHREADLOCAL将是首选。

  3. 两种策略之间的表现可以忽略不计