我真的是Spring和Spring Security的新手。我正在阅读有关Spring Security的信息,它提出了 principal
的概念,应该是当前登录的用户。但是,如果我们有多个当前登录用户怎么办?那么,我的问题是,春季安全的主体到底是什么?
我已经阅读了本教程的示例:
http://www.mkyong.com/spring-security/get-current-logged-in-username-in-
spring-security/
并且他们似乎考虑到只有一个当前登录用户,这种情况并不常见。
如何检索特定用户?以及如何区分正在执行请求的用户?
主体 是 当前登录的用户。但是,您通过绑定到当前线程的安全上下文来检索它,因此它也绑定到当前请求及其会话。
SecurityContextHolder.getContext()
在内部SecurityContext
通过ThreadLocal
变量获取当前实现。由于请求绑定到单个线程,因此可以获取当前请求的上下文。
为简化起见,您可以说安全上下文位于会话中,并且包含用户/主要用户和角色/权限。
如何检索特定用户?
你不知道
所有API均旨在允许访问当前请求的用户和会话。让用户A为100个当前已认证的用户之一。如果A向您的服务器发出请求,它将分配一个线程来处理该请求。如果这样做,SecurityContextHolder.getContext().getAuthentication()
您将在此线程的上下文中执行此操作。默认情况下,在该线程内,您无权访问由另一个线程处理的用户B的上下文。
以及如何区分正在执行请求的用户?
您不必这样做,这就是Servlet容器为您所做的。
本文向大家介绍块的主要元素是什么?相关面试题,主要包含被问及块的主要元素是什么?时的应答技巧和注意事项,需要的朋友参考一下 回答:以下是块的主要元素: 指向上一个块的哈希指针 时间戳记 交易清单
本文向大家介绍react是什么?它的主要特点是什么?相关面试题,主要包含被问及react是什么?它的主要特点是什么?时的应答技巧和注意事项,需要的朋友参考一下 react 是一个用于构建用户UI界面的js库,通过虚拟dom和diff算法 最大减少dom操作,提升性能
javafx中的stage只需要一个场景,而场景只需要一个根节点<所以我想知道这个场景的主要角色是什么?这似乎是一个场景连接了两个侧面,可以直接连接,而无需中间层<我只想理解其中的逻辑。非常感谢。
本文向大家介绍区块链的主要特征是什么?相关面试题,主要包含被问及区块链的主要特征是什么?时的应答技巧和注意事项,需要的朋友参考一下 回答:**区块链的主要功能如下: 分散系统 容量增加 造币厂 更快的解决 不变性 安全有保障的生态系统
Flink被比作Spark,在我看来,这是一个错误的比较,因为它将窗口事件处理系统与微批处理进行了比较;同样地,对我来说,将Flink与Samza进行比较也没有那么大的意义。在这两种情况下,它比较了实时事件处理策略和批处理事件处理策略,即使在Samza的情况下“规模”较小。但我想知道Flink与Storm的比较如何,它在概念上似乎更相似。 我发现这张(幻灯片#4)记录了Flink的“可调延迟”这一