1

我正在使用 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 而无需第一次登录系统。

我怎样才能做到这一点?

4

1 回答 1

2

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

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

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

<intercept-url pattern="/Login" filters="none"/>
于 2012-06-04T06:24:52.197 回答