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