2013-11-21 3 views
0

Наша система позволяет неограниченно распределять вложенные объекты Company (объект домена) с каждым User, присвоенным одной компании. Для любого данного пользователя все пользователи, назначенные компании в дереве под ними, являются правами, которыми управляет этот пользователь.Symfony2 - Пользовательская авторизация/логика управления доступом

Каждый User может быть присвоены определенные атрибуты безопасности для данного класса (то есть атрибут ADD для сообщений в блоге), а также атрибуты безопасности для объекта данного класса (то есть атрибут на блоге пост X EDIT). Эти атрибуты также должны быть доступны для всех пользователей над ними в дереве компаний.

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

Создание записи доступа (ACE) для назначения прав для каждого пользователя, имеющего доступ к объекту, кажется неэффективным, и учитывая сложность структуры пользователя, изложенную выше, присвоение доступа всем пользователям определенной роли будет громоздким ,

Есть ли способ сделать это в соответствии с пользовательским экземпляром SecurityIdentityInterface или использовать пользовательский избиратель безопасности?

ответ

0

fosuserbundle будет ваше решение

fosuserbundle

и symfony acl

+0

Как я уже говорил, я не думаю, что ACL в одиночку хорошо подходит, как мы должны были бы хранить несколько АСЕ для каждого объекта из-за к структуре пользователя. Я отредактировал свой ответ, поскольку я, возможно, не был достаточно ясен. Моя забота - это прежде всего производительность. –

Смежные вопросы