Symfony2 устанавливает роль пользователя при входе в систему

Я хочу использовать единую форму для входа в систему обычных пользователей и администраторов, у меня есть флаг на объекте «isAdmin». Если это перенаправление администратора на панель и установите ROLE_ADMIN, если не перенаправление на сайт и установите ROLE_USER.

это возможно, есть другой способ сделать это?


person Ciro Vargas    schedule 02.10.2012    source источник


Ответы (2)


Проверьте консольные команды для fosuserbundle, вы можете «продвигать» пользователя с ROLE_ADMIN. При каждом входе в систему ему будет автоматически назначаться эта роль.

Он не будет работать с флагом «isAdmin» в вашей модели объекта, скорее всего, будет использовать механизм, предоставляемый самим fosuserbundle (честно говоря, я не копался в этом).

Вы также можете проверить https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/groups.md

person weyandch    schedule 02.10.2012
comment
я не использую fosuserbundle в этом приложении, это простые пользователи ROLE_USER и ROLE_ADMIN - person Ciro Vargas; 02.10.2012
comment
ах, извините, ваш вопрос был отмечен тегом fosuserbundle раньше .. тогда извините :) - person weyandch; 02.10.2012

Кажется, это вообще не имеет смысла. Вы должны установить роль пользователя при регистрации, а не при входе в систему.

Когда пользователь входит в систему, вы можете получить его объект из базы данных и получить атрибут роли, чтобы решить, какое представление загрузить.

person Upvote    schedule 02.10.2012