如何根据Web角色隐藏Web应用程序用户的选项卡

时间:2014-03-10 16:55:41

标签: jquery spring tomcat

我正在使用spring和tomcat服务器创建一个Web应用程序。一旦用户登录到该应用程序,他将访问3个页面,这些页面将显示为选项卡。但是当管理员登录时,他将再显示一个用于执行管理功能的额外页面(UI中的额外选项卡)。我知道这可以通过在tomcat中设置角色和使用jdbc域配置来实现。但是,我不想向任何普通用户显示(或)授予第四页的权利。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

如果您已在应用程序中实现了spring security,则应使用spring security JSP标记来显示和隐藏组件。

在JSP页面上添加以下taglib。

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>

以下代码显示,仅当用户角色为admin时才会执行附带的代码。

<sec:authorize ifAnyGranted="ROLE_ADMIN">
    //admin tab you want to show goes here
</sec:authorize>

答案 1 :(得分:1)

这是一个非常普遍的问题,但考虑使用spring security。 您可以在http://krams915.blogspot.com.tr/2012/01/spring-security-31-implement_5023.html

上跟进教程

对于基于用户的选项卡,您可以使用spring security jsp标记隐藏针对用户角色的特定选项卡视图。

答案 2 :(得分:0)

无论您是否使用Spring Security,都可以这样做:

<jstl:if test="request.isUserInRole('somerole')">
  <!-- put your code for tab #4 in here -->
</jstl:if>