我正在尝试将spring MVC配置为不对没有身份验证的任何页面进行身份验证(根据所有页面明确要求使用ROLE_ANONYMOUS
)。
但是我在调试日志中收到了这条消息:
o.s.s.w.a.i.FilterSecurityInterceptor - Public object - authentication not attempted
命名空间添加FilterSecurityInterceptor
。我认为我需要在过滤器上setRejectPublicInvocations
来禁用此功能。
但是我没有看到通过http命名空间做任何事情。我是否必须完全放弃使用http命名空间才能完成此任务?
答案 0 :(得分:-1)
在我的情况下,我基本上是这样做的。
它适用于匿名用户。
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/js/**" filters="none" />
<intercept-url pattern="/img/**" filters="none" />
<intercept-url pattern="/loginform.*" filters="none" />
<intercept-url pattern="/topic/addtopic**"
access="hasAnyRole('USER_ROLE','ADMIN_ROLE','OPER_ROLE')" />
<intercept-url pattern="/user/**"
access="hasAnyRole('USER_ROLE','ADMIN_ROLE','OPER_ROLE')" />
<intercept-url pattern="/admin/**" access="hasRole('ADMIN_ROLE')" />
<intercept-url pattern="/cadastro.*" filters="none" />
<form-login login-page="/loginform.html"
authentication-failure-url="/loginform.html?error=invalido" />
</http>