spring 安全策略 MODE_INHERITABLETHREADLOCAL。为什么?
spring security strategy MODE_INHERITABLETHREADLOCAL. Why?
我了解当我们在 Spring 安全策略中使用 MODE_THREADLOCAL 和 MODE_INHERITABLETHREADLOCAL 时如何以及会发生什么。我不明白的是,为什么有人会使用 MODE_THREADLOCAL 而不是 MODE_INHERITABLETHREADLOCAL。
- 使用其中一个对内存有影响吗?如果有,是不是
够重要吗?
- 使用 MODE_INHERITABLETHREADLOCAL 的典型 business/functional 用例是什么?
- 使用一个比另一个有什么不同的性能?
使用两者对内存的影响可以忽略不计
在某些环境中,启动新线程来执行后台任务是很常见的。有时开发人员不希望创建的线程自动包含 SecurityContext。在这些情况下,MODE_THREADLOCAL 更可取。如果您代表当前用户启动任务,则可能需要传播 SecurityContext。在这种情况下 MODE_INHERITABLETHREADLOCAL 会更可取。
两种策略之间的性能可以忽略不计
我了解当我们在 Spring 安全策略中使用 MODE_THREADLOCAL 和 MODE_INHERITABLETHREADLOCAL 时如何以及会发生什么。我不明白的是,为什么有人会使用 MODE_THREADLOCAL 而不是 MODE_INHERITABLETHREADLOCAL。
- 使用其中一个对内存有影响吗?如果有,是不是 够重要吗?
- 使用 MODE_INHERITABLETHREADLOCAL 的典型 business/functional 用例是什么?
- 使用一个比另一个有什么不同的性能?
使用两者对内存的影响可以忽略不计
在某些环境中,启动新线程来执行后台任务是很常见的。有时开发人员不希望创建的线程自动包含 SecurityContext。在这些情况下,MODE_THREADLOCAL 更可取。如果您代表当前用户启动任务,则可能需要传播 SecurityContext。在这种情况下 MODE_INHERITABLETHREADLOCAL 会更可取。
两种策略之间的性能可以忽略不计