Api Platform Security - Как предоставить доступ к объекту динамической группе пользователей c? - PullRequest
0 голосов
/ 10 апреля 2020

У нас есть объект со многими владельцами, который хранится в ArrayCollection (). Есть ли способ реализовать политику безопасности в платформе Api, чтобы только эти пользователи имели доступ? До сих пор я тестировал, и, кажется, нет способа сделать это с помощью выражений контроля доступа, поскольку они не поддерживают ArrayCollection, а только простой массив (например, «user in object.owners» не работает). Это очень простой и популярный пример использования. У вас есть идея, как мы можем это сделать?

Спасибо.

1 Ответ

1 голос
/ 10 апреля 2020

Ответ, кажется, обычай избирателей. Из документации API Platform:

Самый простой и рекомендуемый способ подключить пользовательские логи управления доступом c - написать Symfony классов избирателей. Ваши собственные избиратели будут автоматически использоваться в выражениях безопасности через функцию is_granted ().

Чтобы передать текущий объект вашему избирателю, используйте выражение is_granted ('READ', object)

...