Безопасность с методом не работает

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

 * attributes={"access_control"="is_granted('ROLE_USER') and object.belongsTo(user)"},

Это необходимо в моем случае, так как я держу данные учетной записи пользователя отдельно от данных профиля пользователя, а рассматриваемая сущность связана с профилем, а не с сущностью пользователя.

Это работает как талисман на отдельном получателе (/api/data/{id}), но завершается с ошибкой сервера 500 в списке (/ api / data):

"гидра: описание": "Невозможно вызвать метод \" относится к \ "объекта \"ApiPlatform\Core\Bridge\Doctrine\Orm\Paginator\".",

Хотите знать, что идет не так и как это исправить.

метод ownTo() довольно прост:

public function belongsTo(User $user) {
    return $user == $this->owner->user;
}

0 ответов

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