Наша система позволяет неограниченно распределять вложенные объекты Company
(объект домена) с каждым User
, присвоенным одной компании. Для любого данного пользователя все пользователи, назначенные компании в дереве под ними, являются правами, которыми управляет этот пользователь.Symfony2 - Пользовательская авторизация/логика управления доступом
Каждый User
может быть присвоены определенные атрибуты безопасности для данного класса (то есть атрибут ADD
для сообщений в блоге), а также атрибуты безопасности для объекта данного класса (то есть атрибут на блоге пост X EDIT
). Эти атрибуты также должны быть доступны для всех пользователей над ними в дереве компаний.
Похоже, что эта структура не очень хорошо подходит для функций безопасности по умолчанию или системы Symfony ACL.
Создание записи доступа (ACE) для назначения прав для каждого пользователя, имеющего доступ к объекту, кажется неэффективным, и учитывая сложность структуры пользователя, изложенную выше, присвоение доступа всем пользователям определенной роли будет громоздким ,
Есть ли способ сделать это в соответствии с пользовательским экземпляром SecurityIdentityInterface
или использовать пользовательский избиратель безопасности?
Как я уже говорил, я не думаю, что ACL в одиночку хорошо подходит, как мы должны были бы хранить несколько АСЕ для каждого объекта из-за к структуре пользователя. Я отредактировал свой ответ, поскольку я, возможно, не был достаточно ясен. Моя забота - это прежде всего производительность. –