Symfony ACL логика и использование

Я пытаюсь понять Списки контроля доступа в симфонии. IMO, документы действительно не предоставляют много информации о них и их использовании, и я не могу найти ничего простого, что отвечает на мой вопрос онлайн.

Итак, вот некоторые случаи, в которых я не уверен, что списки ACL — это то, что нужно использовать или они могут справиться с этим. Давайте назовем используемую сущность comment:

  1. comment может быть просмотрен любым пользователем, но обновлен только его создателем.
  2. comment может быть просмотрен любым пользователем, но только созданным конкретным пользователем или группой пользователей.
  3. comment может быть просмотрен любым пользователем, но одному конкретному пользователю или группе пользователей может быть отказано в доступе к просмотру / обновлению и т. д.
  4. comment может быть просмотрен любым пользователем, но обновлен только его создателем и удален только конкретным пользователем или группой пользователей (например, администратором или модератором)
  5. comment может быть просмотрен / обновлен / удален только конкретным пользователем или группой пользователей на основе поля (например, если значение равно true, только выбранные пользователи могут просматривать, если false, все могут просматривать)
  6. comment могут просматриваться только пользователями с определенной ролью, а обновляться / удаляться пользователями с определенной ролью
  7. каждый comment в blog (скажем, они связаны через многие к одному) могут быть обновлены / удалены конкретным пользователем или группой пользователей, но в другом blogэти пользователи не могут обновлять / удалять comment это не «их».
  8. при получении comment из базы данных, я могу отфильтровать результат на основе того, что пользователь может просматривать / обновлять / удалять

Поэтому мой вопрос в том, какие из этих случаев легче решить с избирателями, а какие действительно требуют списков ACL.
Извините, если это звучит действительно тривиально, но я пытаюсь понять, почему я должен вкладывать время и усилия в изучение ACL, когда большинство проблем можно решить с помощью избирателей.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …