2

我想让用户运行另一个角色(即管理员角色:ROLE_USER_ADMIN)来更改另一个用户拥有的对象的权限。

  1. 创建具有“ROLE_RUN_AS_USERADMIN”权限的角色
  2. 在 config.groovy 中启用 RunAs

grails.plugin.springsecurity.useRunAs = true

grails.plugin.springsecurity.runAs.key = '*****'

  1. 赋予生成的角色更改 Acl 详细信息的权限

grails.plugin.springsecurity.acl.authority.changeAclDetails = 'ROLE_RUN_AS_USERADMIN'

  1. 注释接受邀请并设置域对象权限以允许访问的服务方法

@PreAuthorize(['ROLE_USER', 'ROLE_RUN_AS_USERADMIN']) //run as ROLE_USER and ROLE_RUN_AS_INVITED_USER

但是当将访问控制条目添加到域对象的 acl 时,我仍然会收到错误消息:

无法为传递的权限和 SID 找到匹配的 ACE

4

0 回答 0