这实际上是一个常见问题,而不是Shiro特定的问题。我想学习的是org.apache.shiro.SecurityUtils#getSubject的工作方式。我已经检查了SecurityUtilsThreadContext的必要部分,现在我完全感到困惑。我理解Shiro's SecurityUtils.getSubject()的基本工作方式是它返回绑定到当前正在执行的线程的主题。实际上,我期望的是类似于RequestLocal而不是ThreadLocal的东西。

我的问题:


Shiro如何确保应用程序的随机点具有与主题创建者线程相同的线程以提供相同的主题? (也许它与Servlet规范有关。可能会很好地指出必要的部分)特别是我对JAX-RS感兴趣。
这是整个主题中最令人困惑的部分。 Shiro在多个请求绑定到单个线程的Servlet 3 Container上如何工作?


有人可以阐明这些问题吗?

谢谢

最佳答案

this mailing list thread中详细回答

关于java - Shiro的SecurityUtils内部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13407385/

10-12 17:00