На мой взгляд, есть значок настроек боковой панели, и я предъявляю к этому требования. Пользователь может иметь либо разрешение «ROLE_MANAGE_SYSTEM_USER», либо «ROLE_MANAGE_USER_ROLE», либо и то и другое.
Если у пользователя есть какое-либо из прав 'ROLE_MANAGE_SYSTEM_USER' или 'ROLE_MANAGE_USER_ROLE', должен отобразиться значок настроек.
Если у пользователя есть оба разрешения, он должен быть направлен на отображение URL ('/ setting / systemUser / load')
Если у пользователя есть только разрешение «ROLE_MANAGE_SYSTEM_USER», он должен быть направлен на сопоставление URL («/ setting / systemUser / load»)
Если у пользователя есть только разрешение «ROLE_MANAGE_USER_ROLE», он должен быть перенаправлен на отображение URL («/ setting / systemRole / load»)
Для реализации этого я структурировал свой код следующим образом:
<sec:authorize access="hasAnyRole('ROLE_MANAGE_SYSTEM_USER', 'ROLE_MANAGE_USER_ROLE')" var="anyrole">
<c:choose>
<c:when test="${anyrole}">
<a href="<c:url value="/setting/systemUser/load"/>">
<p><i class="icon ion-settings"></i></p>Settings
</a>
</c:when>
<c:otherwise>
<a href="<c:url value="/setting/systemRole/load"/>">
<p><i class="icon ion-settings"></i></p>Settings
</a>
</c:otherwise>
</c:choose>
</sec:authorize>
Мне трудно реализовать эту логику с существующими знаниями библиотеки тегов безопасности JSTL и Spring. Любая поддержка будет оценена.