想知道如何创建新用户但指定他的角色。目前,当我创建一个新用户时,该程序自动与ROLE_ADMIN角色相关联。
非常欢迎任何信息/代码/示例。
先谢谢。
答案 0 :(得分:6)
确定。我解决了我的问题。基本上我遵循this指南,并改变了一些方面。
protected $roles = array();
代码:
$user = new UserAdmin();
$builder->add('roles', 'collection', array(
'type' => 'choice',
'options' => array(
'choices' => array(
'nashville' => 'Nashville',
'paris' => 'Paris',
'berlin' => 'Berlin',
'london' => 'London',
),
),
));
现在,当我打开我的注册视图时,它会显示一个下拉列表。在这种情况下,选项包括:纳什维尔,巴黎,柏林,伦敦。
答案 1 :(得分:4)
这是我使用的代码:
$admin = new User() ;
$admin->setEmail("adminl@gmail.com") ;
$admin->setUsername("mitke") ;
$admin->setPlainPassword("123123123") ;
$admin->setEnabled(true) ;
$admin->setSuperAdmin(true) ;
$user1 = new User() ;
$user1->setEmail("user1@gmail.com") ;
$user1->setUsername("user1") ;
$user1->setPlainPassword("123123123") ;
$user1->setEnabled(true) ;
$user1->setRoles( array(User::ROLE_DEFAULT) ) ;
也许它可以帮助你,它适合我。
问题: 您使用/ register创建的所有用户是否都具有管理员角色?也许FOS决定默认情况下第一个注册用户是管理员。
答案 2 :(得分:1)
James Morris的解决方案可能会有所帮助: http://blog.jmoz.co.uk/symfony2-fosuserbundle-roles