пользовательский логин symfony fosuserbundle


Я рассматриваю возможность использования symfony2 поверх плоского php для моего следующего проекта. Однако меня немного беспокоят некоторые вещи. Один из них заключается в том, будет ли это большим испытанием для меня, чтобы узнать:

Мне нужно настроить систему, в которой я получаю доступ к серверной части для создания учетных записей пользователей.

У каждого клиента есть учетная запись пользователя, которая будет работать как их администратор. Затем в своей панели управления они могут создавать пользователей в своей компании и устанавливать для них логин и пароль. Я конечно, не будет ограничивать каждую компанию использованием только тех имен пользователей, которые никто другой не использовал, поэтому на главном экране входа в систему должен быть один селектор для компании и один для имени пользователя, alt. Они войдут в систему на маршруте, скажем site.com/company /.

Я понятия не имею, с чего начать или насколько сложно это будет создать. Я немного протестировал symfony2, и для основной части (БД и шаблоны) это как раз то, что мне нужно.

Возможно, одним из подходов было бы использование групп пользователей, и настроить группы=компании из моей серверной части, и позволить компаниям добавлять пользователей только в свою группу?

Также будут права доступа и т.д. В плоском PHP я просто управляю им через таблицу доступа user-contentpiece, но, возможно, symfony предлагает более плавный способ...

Есть какие-нибудь поучительные комментарии для меня? Является ли FOSUserBundle хорошим вариантом или мне следует создавать с нуля?

Author: Wouter J, 2012-07-20

1 answers

Я полагаю, что это не проблема symfony2 или FOSUserBundle.
Вы можете воспользоваться функциями FOSUserBundle и внести некоторые дополнительные элементы управления (путем перезаписи или расширения существующих методов), например, перед обновлением или удалением пользователя, является ли этот аутентифицированный пользователь той же компанией пользователей, которая будет обновлена/удалена?
Кроме того, вы можете изменить сущность пользователя FOSUserBundle, добавив дополнительное поле, которое будет внешним ключом с идентификатором компании, и сделать этот плюс идентификатор пользователя новым первичный ключ для сущности пользователя.

Итак, если вы можете "изучить" немного Symfony и FOSUserBundle, это абсолютно хороший выбор, но построить его с нуля (если вам нужна только ЭТА функциональность) - это такой же хороший выбор и упражнение

 4
Author: DonCallisto, 2012-07-20 12:47:23