Я пытаюсь обезопасить свою почтовую операцию с объектом, разрешив ему 3 роли.ROLE_ADMIN, ROLE_USER и ROLE_LEADER.У каждого пользователя есть только одна роль.
Когда я тестировал, работает ли он, удалив ROLE_LEADER из приведенного ниже кода, я обнаружил, что пользователь с ROLE_LEADER все еще может создавать пользователя.
У меня естьпопытался сделать какую-то ошибку, если изменения происходят, они есть.
У меня есть следующая операция:
/**
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
* @ApiResource(
* itemOperations={
* "post"={"access_control"="is_granted('ROLE_ADMIN') or is_granted('ROLE_USER')", "access_control_message"="You are not owner of this user."},
* "delete"={"access_control"="
is_granted('ROLE_ADMIN')
or (is_granted('ROLE_USER') and (previous_object.getOwner() == user or previous_object.getOwner().getOwner() == user))
or (is_granted('ROLE_LEADER') and previous_object.getOwner() == user)
", "access_control_message"="You are not owner of this user."},
* },
* )
*/
Операция удаления работает, как и ожидалось, однако я не могу понять, почему я все еще могусоздать пользователя, когда я публикую данные от пользователя, у которого есть ROLE_LEADER.
Спасибо за ваше время