gpt4 book ai didi

java - 这个 Spring Security 图意味着什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:43 24 4
gpt4 key购买 nike

我正在学习 Spring Core 认证,我对文档中发现的这个 Spring Security 图的含义有一些疑问:

enter image description here

它解释了Spring Security项目的架构及其组件之间的交互,但到底意味着什么?

它显示了一个身份验证管理器组件,阅读文档后我发现它处理来自框架其他部分的身份验证请求,因此我认为它提供了类似接口(interface)的东西,其中包含一些方法来执行身份验证操作,并且该接口(interface)将由特定的身份验证提供者实现(根据身份验证技术选择)

身份验证管理器填充安全上下文意味着什么。 Spring 中的*安全上下文**到底是什么?它是存储与主体相关的信息(例如在Web应用程序上进行身份验证的用户)以及该主体对 protected 资源的授权列表的“位置”吗? (例如登录的用户以及该用户可以对 protected 资源执行哪些操作?)这是正确的还是我遗漏了某些内容?

然后有一个安全拦截器,我认为它必须是一个代理类,它使用类似于before 建议 AOP 机制,在某些特定的联合点之前执行安全建议。联合点是对安全资源的操作(例如对安全 bean 的方法执行)。

查看图片,我认为代理从包含主体(登录用户)及其授权(该登录用户可以执行哪些操作)的安全上下文中获取此信息,以便它可以创建之前的建议来检查此操作。这是正确的还是我错过了什么?

AccessDecision Manager 组件代表什么?图片中显示的选民是什么?

Tnx

最佳答案

  • 安全上下文包含有关当前用户的安全信息(名称、登录名、权限...)。它绑定(bind)到当前线程和 session https://stackoverflow.com/a/6408377/280244

  • 当用户登录到安全上下文时,身份验证管理器将放置(poulate)有关用户的安全信息。

  • 安全拦截器(方法或 Http 请求)将在调用 protected /安全资源之前拦截调用。它从安全上下文中获取有关当前用户的信息。允许调用的要求规则是什么,是从某些配置(xml、注释等)中获得的。当前用户是否符合所需规则的决策委托(delegate)Access Decision Manger

  • 访问决策管理器不会自行实现决策规则,而是使用(不同的)投票者来投票支持访问授权、拒绝访问(或弃权)。

@参见:Spring Security Reference: Chapter 13 Authorization Architecture

关于java - 这个 Spring Security 图意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28124626/

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