【发布时间】:2012-01-29 03:13:05
【问题描述】:
我正在使用 spring 核心安全插件并尝试直接从 EL 调用 <sec:ifAnyGranted /> 标签,如下所示:
sec.ifAnyGranted(roles: 'ROLE1, ROLE2, ...')
但这不起作用,因为该方法没有返回任何内容。但是,如果我尝试以下列方式使用标签,它确实有效:
<sec:ifAnyGranted roles="ROLE1, ROLE2, ...">
我不能使用第二个的原因是因为我需要结合两个标准来限制对页面中特定元素的访问,其中一个是用户参与特定的角色列表。为了实现这一点,我通过以下方式使用<sec:access /> 标签:
<sec:access expression="${sec.ifAnyGranted(roles:'ROLE1,ROLE2,...') || (expression 2)">
...
</sec:access>
很遗憾,这对我不起作用。有人可以帮忙吗?
【问题讨论】:
-
表达式采用文本'and','or'而不是&&, ||。 (是的,我知道这是一个古老的问题)。
标签: grails spring-security gsp