这仅与配置有关。它表示
<intercept-url>将在
<http />配置文件的标记中从上到下评估元素:
<http auto-config="true"> <intercept-url pattern="/**" access="isAuthenticated" /> <intercept-url pattern="/login.jsp" access="permitAll" /></http>
在上面的示例中,我们试图仅允许经过身份验证的用户访问所有内容,除了登录页面(用户必须先登录,对吧!!)。但是,根据文档,这 将不起作用
,因为不太具体的匹配位于最前面。因此,完成此示例目标的正确配置之一是:
<http auto-config="true"> <intercept-url pattern="/login.jsp" access="permitAll" /> <intercept-url pattern="/**" access="isAuthenticated" /></http>
将更具体的匹配放在最前面。
引号所说的最后一件事是关于HTTP方法的。您可以使用它来指定匹配项,因此:
<http auto-config="true"> <intercept-url pattern="/client/edit" access="isAuthenticated" method="GET" /> <intercept-url pattern="/client/edit" access="hasRole('EDITOR')" method="POST" /></http>在第二个示例中,
/client/edit通过GET 访问仅需要对用户进行身份验证,但是
/client/edit通过POST
访问(例如,提交编辑表单),用户需要具有该
EDITOR角色。在某些地方可能不鼓励使用该url模式,但这只是一个示例。



