我想让用户运行另一个角色(即管理员角色:ROLE_USER_ADMIN)来更改另一个用户拥有的对象的权限。
- 创建具有“ROLE_RUN_AS_USERADMIN”权限的角色
- 在 config.groovy 中启用 RunAs
grails.plugin.springsecurity.useRunAs = true
grails.plugin.springsecurity.runAs.key = '*****'
- 赋予生成的角色更改 Acl 详细信息的权限
grails.plugin.springsecurity.acl.authority.changeAclDetails = 'ROLE_RUN_AS_USERADMIN'
- 注释接受邀请并设置域对象权限以允许访问的服务方法
@PreAuthorize(['ROLE_USER', 'ROLE_RUN_AS_USERADMIN']) //run as ROLE_USER and ROLE_RUN_AS_INVITED_USER
但是当将访问控制条目添加到域对象的 acl 时,我仍然会收到错误消息:
无法为传递的权限和 SID 找到匹配的 ACE