如何在 .html 文件中使用 Keycloak 将 thymleaf 与 Spring Security 一起使用?
Posted
技术标签:
【中文标题】如何在 .html 文件中使用 Keycloak 将 thymleaf 与 Spring Security 一起使用?【英文标题】:How can I use thymleaf with spring security, using Keycloak inside the .html files? 【发布时间】:2018-08-21 19:51:05 【问题描述】:我使用keycloak
与Spring Boot
和Thymeleaf
进行身份验证和授权。
我正在尝试保护某些区域,例如,如果用户具有角色 ROLE_TEC
,我必须隐藏视图的某些部分,因此我正在执行以下操作:
<li class="nav-item dropdown" sec:authorize="hasRole('ROLE_TEC')">
//some html
</li>
我使用的用户具有该角色,但我看不到该页面。 为什么?
我是否必须为 keycloak 或 Spring 安全性添加任何有关 thymeleaf 的配置?
编辑
如果我使用:
<span sec:authentication="authorities"></span>
我得到这个:
[KeycloakRolerole='TEC', KeycloakRolerole='USER']
【问题讨论】:
【参考方案1】:我认为这是解决方案:
<li class="nav-item dropdown" sec:authorize="hasAuthority('TEC')">
【讨论】:
【参考方案2】:试试这个
<li class="nav-item dropdown" th:if="$#authorization.expression('hasRole(''ROLE_TEC'')')"
//some html
</li>
【讨论】:
以上是关于如何在 .html 文件中使用 Keycloak 将 thymleaf 与 Spring Security 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 keycloak 的 ftl 文件中包含 React js 文件?