在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以使用不同的逻辑。重复大多数相同的代码似乎很可耻...
没有找到相关结果
已邀请:
1 个回复
坛沤疲撑拆
这里的“ 7”应该是“登录用户”对象作为授权的一部分所具有的角色。基本上,具有此角色的任何人都可以管理权限。