【问题标题】:Why is my `<sec:IfAnyGranted roles="ROLE_ADMIN" >` tag ignored?为什么我的 `<sec:IfAnyGranted roles="ROLE_ADMIN" >` 标签被忽略了?
【发布时间】:2010-05-27 21:22:09
【问题描述】:

我发现标签 &lt;sec:IfAnyGranted roles="ROLE_ADMIN" &gt; 被忽略,在 .xhtml 页面上我收到以下消息:

The attribute **roles** is not defined in Component's interface

【问题讨论】:

    标签: spring-security facelets


    【解决方案1】:

    标准的 Spring Security taglib 不适用于 JSF。

    您可以使用the Facelets version

    然后你可以在表达式中使用sec:ifAnyGranted() 函数(不是标签):

    <p:menubar xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:sec="http://www.springframework.org/security/facelets/tags">
    ...
    <p:submenu label="#{msgs['menu.report']}" 
                        rendered="#{sec:ifAnyGranted('ROLE_ADMIN, ROLE_REPORTER')}">
    

    这是一段工作代码,它显示一个仅用于给定用途的菜单。 请注意,我不使用the default Spring JSP taglib,而是使用 Facelets 版本。

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2016-06-20
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 2022-12-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      相关资源
      最近更新 更多