【发布时间】:2015-03-23 08:40:00
【问题描述】:
我正在学习 Spring Core 认证,我有一些与此 Spring Security 图的含义相关的文档:
它解释了 Spring Security 项目的架构及其组件之间的交互,但究竟是什么意思?
它显示了一个 Authentication Manager 组件,阅读文档后我发现它处理来自框架其他部分的身份验证请求,所以我认为它提供了类似接口与一些方法来执行认证操作,并且这个接口将由特定的认证提供者来实现(根据认证技术选择)
身份验证管理器填充安全上下文意味着什么。 Spring 中的 *Security Context** 到底是什么?它是存储与 Principal 相关的信息(例如在 Web 应用程序上通过身份验证的用户)和该主体的 授权 列表的“地方”吗?有保障的资源? (例如登录的用户以及该用户可以对受保护的资源执行哪些操作?)是正确的还是我遗漏了什么?
然后有一个 Security Interceptor 我认为它必须是一个代理类,它使用类似于 before advice AOP 机制的东西,它在某些特定联合之前执行安全建议观点。联合点是安全资源上的操作(例如安全 bean 上的方法执行)。
看图片我认为代理从 Security Context 获取此信息,其中包含主体(登录用户)及其授权(此登录用户可以执行哪些操作),因此它可以创建之前的建议以检查此操作。是对的还是我错过了什么?
AccessDecision Manager 组件代表什么?图片中显示的选民是什么?
Tnx
【问题讨论】:
-
你看过主要的 Spring Security 参考文档吗?它讨论了这些组件。
标签: java spring security spring-mvc spring-security