gpt4 book ai didi

spring - 如何在 Spring Security 3 和 Spring EL 中使用角色层次结构?

转载 作者:行者123 更新时间:2023-12-05 00:07:00 25 4
gpt4 key购买 nike

我想在 Spring Security 的服务方法上使用 @PreAuthorize 注释。要求之一是使用角色层次结构。但默认情况下它是不启用的。

我发现在 SecurityExpressionRoot class(“表达式根对象的基类”)有一个属性roleHierarchy。该类实际上确实将此属性用于 hasRole() 和 hasAnyRole() 等方法。

我想如果我自己提供 角色层次结构 bean 我将能够使用具有分层角色的@PreAuthorize 注释。

如何将我的层次结构 bean 注入(inject) SecurityExpressionRoot ?

最佳答案

对于方法安全,您可以设置 RoleHierarchy作为 DefaultMethodSecurityExpressionHandler 的属性(property),像这样:

<global-method-security ...>
<expression-handler ref = "methodSecurityExpressionHandler" />
</global-method-security>

<beans:bean id = "methodSecurityExpressionHandler"
class = "org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<beans:property name = "roleHierarchy" .../>
</beans:bean>

关于spring - 如何在 Spring Security 3 和 Spring EL 中使用角色层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com