Spring Security在ROLE_ANONYMOUS和IS_AUTHENTICATED_ANONYMOUSLY之间有什么区别。
换句话说,RoleVoter和AuthenticatedVoter有何不同?
答案 0 :(得分:9)
来自spring security documentation的相关部分,
您经常会看到ROLE_ANONYMOUS 上面拦截器中的属性 配置替换为 IS_AUTHENTICATED_ANONYMOUSLY,这是 当有效时同样的事情 定义访问控制。这是个 使用的例子 我们将看到AuthenticatedVoter 在授权章节中。它用 一个AuthenticationTrustResolver到 处理这个特定的配置 属性和授予访问权限 匿名用户。该 AuthenticatedVoter方法更多 功能强大,因为它允许你 区分匿名, 记住我,并完全认证 用户。如果你不需要这个 功能虽然,但你可以 坚持使用ROLE_ANONYMOUS 由Spring Security处理 标准RoleVoter。
此外,来自Luke对相关jira issue的评论,
匿名访问问题部分存在 历史。匿名令牌是 最初介绍(即 ROLE_ANONYMOUS)哪个允许你 使用“安全默认” 具体的配置 例外。在稍后阶段 AuthenticatedVoter被介绍给了 允许您区分 不同级别的身份验证 - 厌恶,记住我和 完全认证(即登录 在本届会议期间)。我有 为匿名者增加了一点额外的东西 章解释说他们是 除非你需要额外费用 功能提供的 AuthenticatedVoter使用。