我正在为Spring Core认证学习,并对文档中的Spring Security图解的含义有一些疑问:
该图解释了Spring Security项目的架构以及其组件之间的交互,但具体是什么意思呢?
它展示了一个Authentication Manager组件,阅读文档后我发现它处理其他框架部分的身份验证请求,因此我认为它提供了类似于接口的东西,其中包含一些方法来执行身份验证操作,并且这个接口将由特定的身份验证提供者实现(根据所选的身份验证技术)。
那么Authentication Manager如何填充Security Context?在Spring中,Security Context到底是什么?它是一个“位置”,存储与主体相关的信息(例如Web应用程序上已经认证的用户)以及该主体在受保护资源上的授权列表(例如登录用户以及该用户可以对受保护资源执行哪些操作)吗?是否正确或者我漏掉了什么?
然后是一个Security Interceptor,我认为它必须是一个代理类,使用类似于“before advice”的AOP机制,在某些特定的连接点之前执行安全性建议。连接点是受保护资源上的操作(例如受保护bean上的方法执行)。
从图片中看来,我认为代理从Security Context获取此信息,其中包含主体(已登录用户)及其授权(此已登录用户可以执行哪些操作),因此它可以创建before advice来检查这些操作。是否正确或者我漏掉了什么?
AccessDecision Manager组件代表什么?图中的voter是什么?
谢谢。
该图解释了Spring Security项目的架构以及其组件之间的交互,但具体是什么意思呢?
它展示了一个Authentication Manager组件,阅读文档后我发现它处理其他框架部分的身份验证请求,因此我认为它提供了类似于接口的东西,其中包含一些方法来执行身份验证操作,并且这个接口将由特定的身份验证提供者实现(根据所选的身份验证技术)。
那么Authentication Manager如何填充Security Context?在Spring中,Security Context到底是什么?它是一个“位置”,存储与主体相关的信息(例如Web应用程序上已经认证的用户)以及该主体在受保护资源上的授权列表(例如登录用户以及该用户可以对受保护资源执行哪些操作)吗?是否正确或者我漏掉了什么?
然后是一个Security Interceptor,我认为它必须是一个代理类,使用类似于“before advice”的AOP机制,在某些特定的连接点之前执行安全性建议。连接点是受保护资源上的操作(例如受保护bean上的方法执行)。
从图片中看来,我认为代理从Security Context获取此信息,其中包含主体(已登录用户)及其授权(此已登录用户可以执行哪些操作),因此它可以创建before advice来检查这些操作。是否正确或者我漏掉了什么?
AccessDecision Manager组件代表什么?图中的voter是什么?
谢谢。