0
我有一个Web应用程序,之前我只有一种类型的用户(客户端用户),但现在我已经工作了,并且将角色管理员添加到了应用程序中,所以我需要显示基于角色的菜单,即当用户登录的用户显示有限数量的子菜单时,但是如果登录的用户是管理员,则显示菜单的完整选项。该应用程序的后端正在使用JSP进行构建。这样做的最佳做法应该是什么?基于JSP中角色用户的动态菜单
我有一个Web应用程序,之前我只有一种类型的用户(客户端用户),但现在我已经工作了,并且将角色管理员添加到了应用程序中,所以我需要显示基于角色的菜单,即当用户登录的用户显示有限数量的子菜单时,但是如果登录的用户是管理员,则显示菜单的完整选项。该应用程序的后端正在使用JSP进行构建。这样做的最佳做法应该是什么?基于JSP中角色用户的动态菜单
仅根据当前登录用户的角色有条件地显示它。您可以使用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>