IgorPI
@IgorPI

Стоит ли использовать ACL в Symfony?

Стоит ли использовать ACL в Symfony?
Как это сказывается на производительности?

Сейчас используем Voters, правила достаточно примитивные.
Хотелось бы услышать мнения тех кто использовал в реальных проектах.
С какими проблемами столкнулись при использовании?

Symfony API CRUD
SPA
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Flying
Ответ на ваш вопрос есть в документации к ACL bundle:

Using ACL's isn't trivial, and for simpler use cases, it may be overkill. If your permission logic could be described by just writing some code (e.g. to check if a Blog is owned by the current User), then consider using Symfony built-in security voters.

Поэтому если вашему приложению необходима гибкая и настраиваемая извне (к примеру через админку) система разделения прав - то в использовании ACL нет ничего плохого. Просто в большинстве случаев достаточно более простой логики разделения доступа, а это как раз и решается через security voters.

Настраиваемость извне подразумевает наличие внешнего источника, в случае Symfony ACL это база данных. Таким образом вы на каждый запрос будете лезть в базу данных что может сказаться на производительности. Кроме того само по себе вычисление доступности того или иного ресурса может быть более сложным, а значит более затратным по времени.

Ну и, естественно, правильно настроить ACL, для того чтобы закрыть всё что нужно и не закрыть что-то лишнее, может стать весьма нетривиальной задачей.

Поэтому ответ на вопрос "стоит ли использовать ACL" очевиден: "стоит, если вам в проекте нужен именно ACL".

На производительности будет сказываться, насколько сильно - опять же зависит от вашего проекта, если там просто CRUD - то возможно влияние будет заметным, но если у вас там не highload - то вероятно это не будет критичным.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы