Отображение конкретного контента для анонимных пользователей с помощью Thymeleaf Security

Если вы не хотите напрямую выполнять SQL, лучший способ - использовать Any () . Это происходит потому, что Any () вернется, как только найдет совпадение. Другим вариантом является Count () , но это может потребоваться проверить каждую строку перед возвратом.

Вот пример того, как ее использовать:

if (context.MyEntity.Any(o => o.Id == idToMatch))
{
    // Match!
}

И в vb.net

If context.MyEntity.Any(function(o) o.Id = idToMatch) Then
    ' Match!
End If

0
задан tdranv 19 March 2019 в 08:57
поделиться

2 ответа

Чтобы отобразить блок только для анонимных пользователей:

<div th:if="!${#request.userPrincipal}">
  <!-- content for anonymous -->
</div>
0
ответ дан holmis83 19 March 2019 в 08:57
поделиться

Есть также хороший модуль тимилинов: https://github.com/thymeleaf/thymeleaf-extras-springsecurity

После добавления вы можете использовать его следующим образом: 113]

<div sec:authorize="isAuthenticated()">
  This content is only shown to authenticated users.
</div>
<div sec:authorize="hasRole('ROLE_ADMIN')">
  This content is only shown to administrators.
</div>
<div sec:authorize="hasRole('ROLE_USER')">
  This content is only shown to users.
</div>
0
ответ дан a4dev92 19 March 2019 в 08:57
поделиться
Другие вопросы по тегам:

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