Динамические меню, основанные на ролях пользователей в JSP - PullRequest
0 голосов
/ 05 марта 2012

У меня есть веб-приложение, в котором раньше у меня был только один вид пользователей (клиентский пользователь), но теперь я работаю и добавил администратора приложения в приложение, поэтому мне нужно показать меню, основанные на роли,то есть, когда зарегистрированный пользователь является пользователем, отображают ограниченное количество подменю, но если зарегистрированный пользователь является администратором, отображают все параметры меню.Серверная часть приложения строится с использованием JSP.Какими должны быть лучшие практики для этого?

1 Ответ

0 голосов
/ 05 марта 2012

Просто отобразите его условно в зависимости от роли текущего пользователя. Для этого вы можете использовать тег JSTL <c:if>.

Например, если меню статические, просто предоставьте логический метод get для вашего объекта сеанса, представляющего текущего пользователя, вошедшего в систему:

<c:if test="${user.admin}">
    Show admin menu items.
</c:if>

или если поддерживается EL 2.2, так что вам не нужен еще один для каждой роли:

<c:if test="${user.hasRole('ADMIN')}">
    Show admin menu items.
</c:if>

или если вы используете управляемую контейнером аутентификацию:

<c:if test="${pageContext.request.isUserInRole('ADMIN')}">
    Show admin menu items.
</c:if>
...