Как реализовать RunAs в весенней безопасности ACL
Я хочу, чтобы пользователь запускал как другую роль (это роль администратора: ROLE_USER_ADMIN) для изменения привилегий в объекте, принадлежащем другому пользователю.
- Создайте роль с полномочиями "ROLE_RUN_AS_USERADMIN"
- включить RunAs в config.groovy
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 объекта домена:
Невозможно найти соответствующий ACE для переданных разрешений и SID