gpt4 book ai didi

java - Spring Security 是如何跨 Web 应用请求在一个线程中管理 SecurityContext 的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:21 24 4
gpt4 key购买 nike

在 SpringSecurity 中,它有一个类名 SecurityContextHolder 及其规范:“将给定的 SecurityContext 与当前执行线程相关联。”对于 Web 应用程序,每当请求到达服务器时,Spring 也会重新加载并在 SecurityContextHolder 中为其线程设置该请求的 SecurityContext 吗?

最佳答案

是的,SecurityContextPersistenceFilter照顾这个。默认情况下,它在 HttpSession 中定位 SecurityContext,并通过 SecurityContextHolder 将其绑定(bind)到线程。当请求完成处理时,它会执行相反的操作 - 它从线程中获取 SecurityContext 并将其放入 session 中。

来自 Javadoc:

Populates the SecurityContextHolder with information obtained from the configured SecurityContextRepository prior to the request and stores it back in the repository once the request has completed and clearing the context holder. By default it uses an HttpSessionSecurityContextRepository.

关于java - Spring Security 是如何跨 Web 应用请求在一个线程中管理 SecurityContext 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7173195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com