2014-11-05 77 views
0

我有要求,我们必须显示同一个页面(说主页)为客人以及认证的用户。有些页面仅显示给经过验证的用户。我已经做了以下如何保护在Web应用程序中选定的页面

JSP

链路1个 HREF = “固定/主页”>主页

链路2 HREF = “主页”>主页

连杆3 HREF =“secure/adduser”>添加用户

控制器

@RequestMapping(value = {"/homepage","/secure/homepage"}, method = RequestMethod.GET) 
    public ModelAndView viewHomePage() { 

} 

春季安全

但问题是,每次连接3从显示的页面叫做调用链接1.我的网址后成为{}的applicationContext /安全/安全/ adduser的

+0

您可以添加过滤器来过滤掉认证和非认证用户的页面请求。 – 2014-11-05 09:11:41

回答

2

您应该使用绝对链接来避免URL前缀的累积。

链接应该写成:

<a href="<c:url value="/secure/homepage"/>">Link 1</a> 
+0

谢谢Serge,您可以让我知道Web应用程序安全的最佳做法,以下是我的要求,几乎所有人都可以看到页面,只有根据他们的角色才能看到几个页面才能通过身份验证的用户。我是否需要为认证的用户和未认证的用户创建单独的页面?我正在使用spring mvc和security。 – 2014-11-05 11:32:38

+0

@SumitAgarwal:不确定这些是否是真正的*最佳参赛者*,但目前做的是仅根据角色访问某些页面,并且在所有(或不同角色)可访问的页面上,在JSP与''标签级别,或与春季安全专用标签。 – 2014-11-05 12:53:29