【发布时间】:2020-08-20 17:28:43
【问题描述】:
我刚刚学习 Apache Shiro,遇到了一个问题。在我在互联网上看到的示例中,线程安全的入口点是以下代码:
try {
ThreadContext.bind(subject);
//main code here
} finally {
ThreadContext.unbindSubject();
}
但是,根据documentation有以下方法:
static void bind(SecurityManager securityManager) 便捷方法 这简化了将应用程序的 SecurityManager 实例绑定到 ThreadContext。
static void bind(Subject subject) 简化的便捷方法 将 Subject 绑定到 ThreadContext。
静态SecurityManager unbindSecurityManager() 便捷方法 这简化了应用程序的 SecurityManager 实例的删除 来自线程。
static Subject unbindSubject() 简化的便捷方法 从线程中删除线程本地主题。
谁能解释一下,什么时候(在什么情况下)我们需要绑定 Subject 以及什么时候需要 SecurityManager?
【问题讨论】: