我有一个 Web 应用程序,之前我只有一种用户(客户端用户),但现在我已经工作了,我将角色管理员添加到应用程序中,所以我需要显示基于角色的菜单,即,当登录的用户是显示有限数量的子菜单的用户,但如果登录的用户是管理员,则显示菜单的完整选项。应用程序的后端是使用 JSP 构建的。这样做的最佳实践应该是什么?
问问题
2320 次
1 回答
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>
于 2012-03-05T03:42:49.557 回答