我使用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而无需第一次登录系统。
我该怎么做?
答案 0 :(得分:2)
您需要将拦截规则更改为:
<intercept-url pattern="/**" filters="none" access="ROLE_USER"/>
您可能还必须从身份验证要求中排除登录页面。因为用户不必登录才能看到登录页面。您可以通过添加:
来实现<intercept-url pattern="/Login" filters="none"/>