Java 如何在spring security XML配置中使用三元运算符传递角色

Java 如何在spring security XML配置中使用三元运算符传递角色,java,spring-security,Java,Spring Security,我想评估我是否应该在特定的URL上应用安全性 我尝试了以下方法,但没有成功 <intercept-url pattern="/monitoring" access="'${monitor.status}' == 'secured' ? 'ROLE_FIND' : permitAll"/> <intercept-url pattern="/monitoring" access="'${monitor.status}' == 'secured' ? R

我想评估我是否应该在特定的URL上应用安全性

我尝试了以下方法,但没有成功

<intercept-url pattern="/monitoring" 
      access="'${monitor.status}' == 'secured' ? 'ROLE_FIND' : permitAll"/>  

<intercept-url pattern="/monitoring" 
    access="'${monitor.status}' == 'secured' ? ROLE_FIND : permitAll"/>  

<intercept-url pattern="/monitoring"
    access="'${monitor.status}' == 'secured' ? 'ROLE_FIND' : 'IS_AUTHENTICATED_ANONYMOUSLY'"/>

运气不好。正确的语法是什么。我不能使用基于表达式的。请建议我只穿这种款式

所有这些都表明,
访问被拒绝
,即使是正确的权限也存在。我不确定是因为这个还是我项目中的其他配置


编辑:
${monitor.status}
来自属性文件。

请尝试使用[SpEL][1]进行编辑

<intercept-url pattern="/monitoring" access="#{'${monitor.status}' == 'secured' ? 'ROLE' : 'IS_AUTHENTICATED_ANONYMOUSLY'}"/>

试着用[SpEL][1]像这样做

<intercept-url pattern="/monitoring" access="#{'${monitor.status}' == 'secured' ? 'ROLE' : 'IS_AUTHENTICATED_ANONYMOUSLY'}"/>


你能给我正确的语法吗,双引号在
{
关闭的地方。关闭
}
处丢失了
我刚刚更新了我的答案。让我知道它是否有效。您好,昨天语法在对属性(
${monitor.status}
进行了一些小的更正后仍然有效(缺少
'
)而且,
是匿名认证的。
太好了!我已经回复到我原来的答案,并进行了更正。你能给我正确的语法吗,双引号在
{
关闭的地方关闭。关闭
}
处缺少
,我刚刚更新了我的答案。让我知道它是否有效。您好,昨天的语法在做了一些小的更正(缺少属性(
${monitor.status}
)后工作正常,
是匿名验证的<代码>
太棒了!经过这一更正,我又回到了原来的答案。