关于 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 一切都按预期工作,我将面临身份验证挑战。

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

相关讨论

  • 听起来好像没有应用全局方法安全性。您可以打开调试器并查看它是否正在通过 MethodSecurityInterceptor 吗?
  • 您很可能遇到此常见问题解答中涵盖的问题。您还会发现之前在 SO 上讨论过它。
  • @luke你说得对,这正是问题所在,你想将其添加为答案以便我接受吗?

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


以上是关于 java:Spring security 如何允许匿名访问大多数站点限制某些操作的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>