Мы используем PicketLink 2.7 в приложении EI7 CDI/JSF с Wildfly.Методы PicketLink EL не найдены
В соответствии с документацией PicketLink существуют некоторые методы EL , например # {hasRole ('ROLE_NAME')}. Когда мы пытаемся использовать их в странице JSF
<ui:fragment rendered="#{hasRole('ROLE_NAME')}">
мы получаем
Вызванный: javax.el.ELException: Function 'hasRole' не найден
Когда мы используем EL на компоненте CDI с
@Restrict("#{hasRole('ROLE_NAME')}")
public void doWhatEver(){}
Он отлично работает (выбрасывает исключение, роль).
Таким образом, перехватчик PicketLink настроен в beans.xml, мы используем зависимость uber для PicketLink в файле pom. Что нам не хватает?
Методы обеспечиваются org.picketlink.internal.el.ELFunctionMethods , насколько я могу разобрать:
public static boolean hasRole(String roleName)
Checks if an authenticated user is granted with a role with the given name.
This method requires that valid ELEvaluationContext associated with the current invation thread.