SPeL in thymeleaf: использовать свойства объекта - PullRequest
0 голосов
/ 27 марта 2020

Я зарегистрировал пользовательский PermissionEvaluator и хотел бы передать свойства объекта методу hasPermission из Thymeleaf.

Это прекрасно работает:

<span sec:authorize="hasPermission('A', 'ConfidentialDocument', 'read')">
    XXXX
</span>

Это не удается:

<span sec:authorize="hasPermission(${device.id}, 'ConfidentialDocument', 'read')">
    XXXX
</span>

org.springframework.expression.spel.SpelParseException: Expression [hasPermission ($ {device.id}, 'ConfidentialDocument', 'read')] @ 15: EL1043E: Неожиданный токен. Ожидаемый «rparen ())», но был «lcurly ({)»

Что я делаю не так? (устройство определенно установлено).

1 Ответ

0 голосов
/ 27 марта 2020

Нашли решение:

<span th:if="${#authorization.expression('hasPermission(''__${device}__'' , ''read'')')}">
   xxx
</span>
...