Créer un utilisateur admin à l'aide de datafixtures et fosuserbundle
Je suis en train de créer un nouvel Utilisateur Admin à partir d'un appareil. J'utilise FOSUserBundle et Symfony2.
$userManager = $this->container->get('fos_user.user_manager');
//$userAdmin = $userManager->createUser();
$userAdmin = new UserAdmin();
$userAdmin->setUsername('francis');
$userAdmin->setEmail('[email protected]');
$userAdmin->setEnabled(true);
$userAdmin->setRoles(array('ROLE_ADMIN'));
$userManager->updateUser($userAdmin, true);
Je suis toujours cette erreur:
[ErrorException]
Notice: Undefined property:
INCES\ComedorBundle\DataFixtures\ORM\LoadUserAdminData::$container in
/public_html/Symfony/src/INCES/ComedorBundle/DataFixtures/ORM/LoadUserAdminData.php line 16
Pourquoi n'utilisez-vous pas de fos:user:promouvoir ?
Je voudrais créer un utilisateur admin la première fois que je lance mon application sur le serveur de production. Si je sais bien promouvoir les travaux de modification du rôle d'un déjà créé utilisateur, mais pas exactement ce que je veux.
Je voudrais créer un utilisateur admin la première fois que je lance mon application sur le serveur de production. Si je sais bien promouvoir les travaux de modification du rôle d'un déjà créé utilisateur, mais pas exactement ce que je veux.
OriginalL'auteur Gabriel Muñumel | 2012-08-04
Vous devez vous connecter pour publier un commentaire.
Cela a fonctionné pour moi (je suis également utiliser FOSUserBundle):
Espère que cela aide quelqu'un! 🙂
Il fonctionne bien. Merci pour le partage. +1
Cela fonctionne, mais comment peut-on charger un utilisateur de base de données si nous allons faire une "--append' chargement et nous n'avons pas wana créer un nouvel utilisateur, mais en utiliser un existant.
OriginalL'auteur Anil
Suivre cette section de la documentation.
OriginalL'auteur Mun Mun Das
L'Erreur est parce que le $container est actuellement pas défini. Pour résoudre ce problème, ajoutez le ContainerAwareInterface à votre définition de classe.
Ce ne sera pas complètement se vous ce que vous voulez, mais, depuis la création de l'utilisateur sans le UserManager. Au lieu de cela, vous devriez être en utilisant la ligne que vous avez commenté.
Il me semble que vous n'avez pas besoin de la UserAdmin classe. Les utilisateurs admin devrait être un sous-ensemble de l'Utilisateur distingue que par les rôles qu'ils ont.
Vous devez utiliser le UserManager pour créer un Utilisateur(pas UserAdmin) et de définir les rôles.
Si vous avez besoin de garder un index de tous les utilisateurs admin, MySQL est un point de VUE pourrait accomplir cela, ou vous pouvez créer votre propre "cache" de la table et de la Doctrine de l'usage des Auditeurs de le mettre à jour en cas de besoin.
Cette question est assez vieux, donc je devine que vous avez trouvé la réponse ou au moins une solution de contournement.
Pourriez-vous nous aider? C'est ok pour répondre à vos propres questions.
OriginalL'auteur cmgriffing
C'est la version mise à jour pour SF3+
Cette réponse est fondée sur l'Anil et de Mun Mun Das réponses.
OriginalL'auteur Kaizoku Gambare