使用spring security的任何url的用户登录验证

时间:2012-06-04 06:17:52

标签: spring spring-security

我使用spring security来验证我的Web应用程序。我可以通过如下配置成功使用它:

<http auto-config='true'>
    <intercept-url pattern="/Login" filters="none" access="ROLE_USER"/>
    <form-login login-page='/Login' authentication-failure-url="/Login/Failure" 
        default-target-url="/Url"/>
</http>

<authentication-manager>
    <authentication-provider>
        <user-service>
           <user name="admin" password="admin" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</authentication-manager>

如果我直接从登录页面登录,上面的代码工作正常。如果其中一个用户正在访问不是登录页面的不同URL。现在我想限制用户访问任何直接URL而无需第一次登录系统。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您需要将拦截规则更改为:

<intercept-url pattern="/**" filters="none" access="ROLE_USER"/>

您可能还必须从身份验证要求中排除登录页面。因为用户不必登录才能看到登录页面。您可以通过添加:

来实现
<intercept-url pattern="/Login" filters="none"/>