Как я могу использовать thymleaf с весенней безопасностью, используя Keycloak внутри файлов .html?

Я использую keycloak для аутентификации и авторизации с Spring Boot и Thymeleaf.

Я пытаюсь защитить некоторые области, например, если у пользователя есть роль ROLE_TEC, мне нужно скрыть некоторую часть представления, поэтому я делаю следующее:

<li class = "nav-item dropdown" sec:authorize = "hasRole('ROLE_TEC')">
//some html
</li>

Пользователь, которого я использую, имеет эту роль, но я не вижу эту часть страницы. Почему?

Должен ли я добавить какую-либо конфигурацию тимелеафа для keycloak или безопасности Spring?

РЕДАКТИРОВАТЬ

Если я использую: <span sec:authentication = "authorities"></span>

Я получаю это:

[KeycloakRole{role='TEC'}, KeycloakRole{role='USER'}]
2
0
555
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуй это

<li class = "nav-item dropdown" th:if = "${#authorization.expression('hasRole(''ROLE_TEC'')')}"
//some html
</li>
Ответ принят как подходящий

Думаю, вот решение:

<li class = "nav-item dropdown" sec:authorize = "hasAuthority('TEC')">

Другие вопросы по теме