关于 java:Spring security 如何允许匿名访问大多数站点限制某些操作

Spring security how to allow anonymous access to most of site restricting certain actions

我希望有与 Stack Overflow 类似的行为,您可以在其中匿名查看大部分站点,并且只需要用户角色/身份验证即可执行某些操作。基本上是匿名读取,写入受限。
我希望我能做的是指定匿名访问我的 security-config.xml 并注释需要适当用户角色的各种方法。
配置:

1
2
3
4
5
6
<global-method-security secured-annotations="enabled" />

<http auto-config='true'>
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <http-basic />
</http>

方法声明

1
2
3
    @Secured("ROLE_USER")
    @RequestMapping(value ="/{estabID}", method = RequestMethod.GET)
    public ModelAndView getEstablishmentPage(@PathVariable String estabID) { .... }

但是,没有提示我使用此配置提供基本身份验证凭据。如果我将配置中的访问属性更改为 ROLE_USER 一切都按预期工作,我将面临身份验证挑战。

默认情况下,通过身份验证的用户对某些操作进行匿名访问的最佳方式是什么?


正如卢克泰勒在他的评论中提到的,这个问题是通过遵循这个常见问题解决的