gpt4 book ai didi

spring-security - 如何在没有显式身份验证的情况下在 Spring Security 中授予 ACL?

转载 作者:行者123 更新时间:2023-12-04 07:08:10 24 4
gpt4 key购买 nike

当我创建一个新实体时,我想向这个新实体授予 ACL 权限(也称为 ACL 条目)。到目前为止很简单:-)

问题出现在以下场景:

  • 最终用户无需在网站上进行身份验证即可创建实体。
  • 持久化这个新实体的服务因此在没有身份验证上下文的情况下运行。
  • 但是:要授予 ACE,需要有一个事件的身份验证上下文。

Spring的JdbcMutableAclService是使用SecurityContextHolder.getContext().getAuthentication()来获取当前认证的,所以好像没有办法规避这个要求。

非常感谢任何想法!

最佳答案

自己找到答案:

在 Web 应用程序中,始终 是身份验证上下文。如果用户未通过身份验证,则身份验证为 org.springframework.security.authentication.AnonymousAuthenticationToken,它具有单一授权权限:ROLE_ANONYMOUS

因此,授予此用户创建 ACL 的权限很简单。只需配置 PermissionGrantingStrategy 以使用此角色授权请求。

关于spring-security - 如何在没有显式身份验证的情况下在 Spring Security 中授予 ACL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11155023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com