Как реализовать RunAs в весенней безопасности ACL

Я хочу, чтобы пользователь запускал как другую роль (это роль администратора: ROLE_USER_ADMIN) для изменения привилегий в объекте, принадлежащем другому пользователю.

  1. Создайте роль с полномочиями "ROLE_RUN_AS_USERADMIN"
  2. включить RunAs в config.groovy

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 объекта домена:

Невозможно найти соответствующий ACE для переданных разрешений и SID

0 ответов

Другие вопросы по тегам