【发布时间】:2021-08-08 19:59:49
【问题描述】:
请注意:似乎有人在没有解释的情况下连续提出我的问题。这个问题是主题,不是重复的,显示研究并提供SSCCE。如果您希望 DV 或 CV 它,那很好,但请提供评论说明原因,以便我有机会解决您的问题...
这里是 Spring Boot 2.3.x 和 Spring Security。
我有一些相当复杂的授权逻辑,所以我相信我需要编写自己的 AccessDecisionManager impl 并将其连接到我的 WebSecurityConfigurerAdapter impl 中(如果这是错误的或有任何误解,请纠正我!)。
那么,要实现你自己的AccessDecisionManager,你需要实现3个方法,其中之一是:
public class MyCustomAccessDecisionManager implements AccessDecisionManager {
@Override
public void decide(
Authentication authentication,
Object object,
Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
// TODO
}
}
我已经从高处和低处搜索了谷歌众神,对于我的生活,我找不到一个有意义的、真实的例子来说明 Object object 和 Collection<ConfigAttribute> configAttributes 参数是什么、它们的用途、它们的用途打算被使用,以及它们的一些真实世界(具体)示例在运行时将是什么。
Authentication 参数很明显:它是我的身份验证令牌,将包含主体,可能是他们的凭据,以及与主体关联的 GrantedAuthorities(权限)列表。
但其他两个论点(object 和 configAttributes )对我来说绝对是个谜。
有人知道这些参数是什么,它们的一些现实世界用例是什么,以及它们的用途是什么?
【问题讨论】:
标签: spring-boot spring-security authorization access-control