Symfony2: мультитенантные роли в FosUserBundle - PullRequest
4 голосов
/ 23 января 2012

Итак, я делюпинг приложения с несколькими клиентами. Пользователи могут получить доступ к нескольким клиентам с разными ролями в каждом случае. Например, у пользователя A есть ROLE_XX для клиента C1 , но ROLE_YY для клиента C2 .

Насколько я знаю, FosUserBundle хранит роли для пользователя в столбце role (таблица по умолчанию fos_user ), поэтому эта структура не подходит для моих нужд.

Я прочитал документацию, основанную на управлении ролями , но ничего не связано, поэтому я думаю, что эта функция выходит за рамки FosUserBundle ?.

Так что я думал о создании дополнительной таблицы, которая бы связывала их (клиент, пользователь, роль), но, поскольку я вообще не эксперт FOS, я действительно не знаю, правильный ли это путь. Или, может быть, я что-то упустил. Любой совет приветствуется!

1 Ответ

5 голосов
/ 24 января 2012

Ваши требования превышают то, что обеспечивает система ролей безопасности Symfony. Вам нужно будет поддерживать ACL или инкапсулировать логику контроля доступа в настраиваемом избирателе безопасности. Я недавно написал о последнем подходе здесь:

http://kriswallsmith.net/post/15994931191/symfony2-security-voters

...