在Spring Security ACL中授予权限

| 我在grails 1.3.7中使用Spring Security ACL插件,但是我的问题可能比这更通用:我希望允许对对象具有“ 0”访问权限的用户能够向其他用户授予相同的权限。如果user1具有对文档的读取访问权限,则他应该能够与user2共享该权限,从而为他提供对同一文档的读取访问权限。 首次创建文档时,授予了user1读取权限,因此我在日志中看到了这一点:
DEBUG   grails.app.service.org.grails.plugins.springsecurity.service.acl.AclUtilService     Added permission BasePermission[...............................R=1] for Sid PrincipalSid[User user1] for com.fxpal.ara.Document with id 1
然后,我尝试在认证为user1的同时向user2授予READ权限,但出现此异常:
org.springframework.security.acls.model.NotFoundException: Unable to locate a matching ACE for passed permissions and SIDs
所以我的问题是: 1.是否要求ѭ3才能允许用户向其他用户授予权限? 2.还有其他方法可以只拥有部分权限来授予权限吗?这项政策在哪里实施,可以替代吗? 更新: 好吧,我以为我可以添加一个新的实现
AclAuthorizationStrategy
来定义方法
public void securityCheck(Acl acl, int changeType)
,但是该方法没有将请求的权限作为参数,从而挫败了我检查兼容权限的策略。接下来要做的是重新实现AclImpl以使用不同的逻辑。重复大多数相同的代码似乎很可耻...     
已邀请:
您可以通过以下方法解决此问题:
<bean id=\"aclAuthorizationStrategy\" class=\"org.springframework.security.acls.domain.AclAuthorizationStrategyImpl\">
     <constructor-arg>
         <bean class=\"org.springframework.security.core.authority.SimpleGrantedAuthority\">
              <constructor-arg>
                   <value>ROLE_ADMINISTRATOR</value>
              </constructor-arg>
         </bean>
     </constructor-arg>
</bean>
这里的“ 7”应该是“登录用户”对象作为授权的一部分所具有的角色。基本上,具有此角色的任何人都可以管理权限。     

要回复问题请先登录注册