企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
那么什么是“安全对象”呢? Spring Security使用该术语来引用可以对其应用安全性(例如授权决策)的任何对象。最常见的示例是方法调用和Web请求。 每个受支持的安全对象类型都有自己的拦截器类,它是`AbstractSecurityInterceptor`的子类。重要的是,在调用`AbstractSecurityInterceptor`时,如果主体已经过身份验证,则`SecurityContextHolder`将包含有效的身份验证。 `AbstractSecurityInterceptor`为处理安全对象请求提供了一致的工作流,通常: 1. 查找与当前请求关联的“配置属性” 2. 将安全对象,当前`Authentication` 和配置属性提交给`AccessDecisionManager`以进行授权决策 3. (可选)更改进行调用的`Authentication ` 4. 允许安全对象调用继续(认为已授予访问权限) 5. 调用返回后,调用`AfterInvocationManager`(如果已配置)。如果调用引发异常,则不会调用`AfterInvocationManager`。