В офф документации Symfony довольно подробно и ясно описано как реализовать аутентификацию пользователя через базу данных. Там же рассмотрен вопрос о сохранении ролей в БД. А вот как назначить роль по умолчанию новому пользователю - не описано. Реализовать этот недостающий момент можно следующим образом:
Сущность User
В сущность User нужно добавить метод:
//...
public function setRoles($roles)
{
$this->roles = $roles;
}
//...
Контролер
В контролере, когда добавляется новый пользователь, следует предусмотреть такой код:
//...
use Doctrine\Common\Collections\ArrayCollection;
//...
$role = $this->getDoctrine()
->getRepository('SiteMemberBundle:Role')
->findOneBy(array('role'=>'ROLE_USER'));
$roles = new ArrayCollection();
$roles->add($role);
$user->setRoles($roles);
//...
Удачи!
Комментариев нет:
Отправить комментарий