2015-04-23 35 views
-1

如何配置Spring Security,以便可以为未经身份验证的用户和经过身份验证的用户访问某些资源?在用户通过身份验证的情况下,必须可以在资源处理方法中获取身份验证上下文。Spring Security:允许对未加密资源进行未经授权的访问

没有匿名身份验证,必须使用,因为我们一定要分清未认证用户(401未经授权(倒霉HTTP命名))和未授权(403禁止)其他资源。

如果再加资源web.ignoring()然后验证上下文不适甚至通过验证的用户。

如果资源不web.ignoring()则未认证用户春季返回HTTP 401

+0

这个问题关于的问题是由内部实现引起的。 –

回答

0

在春季安全配置文件,你应该有这样的事情或同等...

<http use-expressions="true"> 
<intercept-url pattern="/app/**" access="hasAnyRole('ROLE_ADMIN','ROLE_USER','ROLE_CUST_ADMIN')" /> 
<intercept-url pattern="/app2/**" access="hasRole('ROLE_ADMIN')" /> 
</http> 

如果您添加允许所有它将允许用户查看资源...

<http use-expressions="true"> 
<intercept-url pattern="/app/**" access="permitAll" /> 
</http> 
0

我可能已经发现了问题,可能anonumou s认证将成为可能。这个问题似乎与我们的自定义ExceptionTranslationFilter响应403而不是401匿名。对于无效的问题抱歉。

+0

你可能会考虑删除这个问题,因为它是无效的,并且没有答案,永远只剩下一个没有答案的问题。 – Shaggy

+0

我无法将其删除,因此我将其标记为已关闭。 –