我想使用自定义注释标记类中的方法,该自定义注释将使用spring安全性控制授权决策。例如:在弹簧安全中使用自定义方法安全注释
@Role("ADMIN")
public void accessControlledMethod(){}
我明白,这意味着我不知需要注册我的自定义注释“角色”,以便它可以导致ConfigAttributes
存在时的授权决定是由AccessDecisionManager
制造。但是,我不明白如何使用spring安全注册我的自定义注释,以便识别它。
我在框架代码中看到了一个潜在的解决方案。有一个名为SecuredAnnotationSecurityMetadataSource的类,其文档说“为AnnotationMetadataExtractor注入自定义注释”。如果这是首选的方法,我不知道如何配置SecuredAnnotationSecurityMetadataSource或如何将AnnotationMetadataExtractor注入到其中。
是否有一个理由,为什么你'使用自定义的替代,而不是由Spring Security提供的? –
@XtremeBiker我的团队拥有一个现有的授权框架,它使用了与我们的应用程序相关的不同命名约定。我想在我们的方法安全注释中使用这些角色名称。方法文档清楚地表明这是以某种方式支持的,但我找不到任何关于它如何工作的信息。 – KyleM