想知道如何實現新用戶的創建,但指定他的角色。目前,當我創建一個新用戶時,程序自動與ROLE_ADMIN角色關聯。FOSUserBundle - 創建新的用戶指定角色。
任何信息/代碼/示例是非常受歡迎的。
謝謝先進。
想知道如何實現新用戶的創建,但指定他的角色。目前,當我創建一個新用戶時,程序自動與ROLE_ADMIN角色關聯。FOSUserBundle - 創建新的用戶指定角色。
任何信息/代碼/示例是非常受歡迎的。
謝謝先進。
好的。我解決了我的問題。基本上我遵循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',
),
),
));
現在,當我打開我的註冊視圖時,它顯示一個下拉列表。在這種情況下,選項有:納什維爾,巴黎,柏林,倫敦。
fosuserbundle的實體用戶已具有實地角色 –
幾乎完美的解決方案 – krachleur
這是我使用的代碼:
$admin = new User() ;
$admin->setEmail("[email protected]") ;
$admin->setUsername("mitke") ;
$admin->setPlainPassword("123123123") ;
$admin->setEnabled(true) ;
$admin->setSuperAdmin(true) ;
$user1 = new User() ;
$user1->setEmail("[email protected]") ;
$user1->setUsername("user1") ;
$user1->setPlainPassword("123123123") ;
$user1->setEnabled(true) ;
$user1->setRoles(array(User::ROLE_DEFAULT)) ;
也許它可以幫助你,它爲我工作。
問題: 您使用/ register創建的所有用戶是否具有管理員角色?也許FOS決定第一個註冊用戶默認是admin。
我以爲是那樣。但是昨天我試着在清理完數據庫/緩存後運行整個註冊表,並且創建的用戶使用了ROLE_USER角色。我今晚會嘗試使用你的代碼。非常感謝。 –
詹姆斯·莫里斯的解決方案可能會有所幫助: http://blog.jmoz.co.uk/symfony2-fosuserbundle-roles
你肯定** ** ROLE_ADMIN是默認的角色?這對我來說似乎很奇怪。你是如何創建用戶的? –
我認爲ROLE_ADMIN是默認角色,不確定。我通常會創建一個新用戶的方法是進入'/ register'並填寫表單。然後,檢查symfony調試面板上的身份驗證,並顯示分配的ROLE_ADMIN角色。 –