Почему мой' <sec:IfAnyGranted роли = “ROLE_ADMIN”>' проигнорированный тег?

Я нахожу что тег <sec:IfAnyGranted roles="ROLE_ADMIN" > проигнорирован и на .xhtml страница я получаю следующее сообщение:

The attribute **roles** is not defined in Component's interface
1
задан Jason Plank 6 October 2011 в 19:28
поделиться

1 ответ

Стандартная библиотека тегов Spring Security не работает с JSF.

Вы можете использовать версию Facelets .

Затем вы можете использовать функцию 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')}">

Это часть рабочего кода, который показывает меню только для заданного использования. Обратите внимание, что я не использую библиотеку тегов Spring JSP по умолчанию , а использую версию Facelets.

2
ответ дан 3 September 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: