2012-03-05 3 views
0

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

ответ

0

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

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

<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>