2012-03-05 72 views
0

我有一個Web應用程序,之前我只有一種類型的用戶(客戶端用戶),但現在我已經工作了,並且將角色管理員添加到了應用程序中,所以我需要顯示基於角色的菜單,即當用戶登錄的用戶顯示有限數量的子菜單時,但是如果登錄的用戶是管理員,則顯示菜單的完整選項。該應用程序的後端正在使用JSP進行構建。這樣做的最佳做法應該是什麼?基於JSP中角色用戶的動態菜單

回答

0

僅根據當前登錄用戶的角色有條件地顯示它。您可以使用JSTL<c:if>標籤。

例如,如果菜單是靜態的,只提供代表當前登錄的用戶會話對象上的布爾getter方法:

<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> 
相關問題