2012-03-09 9 views
12

chciałbym utworzyć nowego użytkownika w FOSUserBundle (Symfony2), ale zawsze ten sam komunikat (używam php app/console fos:user:create):FOSUserBundle nie enkoder został skonfigurowany: tworzenie nowego użytkownika

nr koder został skonfigurowany dla konta "MyProject \ UserBundle \ Entity \ User".

przywóz są we właściwej kolejności

public function registerBundles() 
{ 
    $bundles = array(
     //... 
     new MyProject\UserBundle\MyProjectUserBundle(), 
     new FOS\UserBundle\FOSUserBundle(), 
    ); 

plik bezpieczeństwo:

security: 
    encoders: 
     Symfony\Component\Security\Core\User\User: plaintext 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 

ale jestem zawsze otrzymuję ten sam błąd ... Czy wiesz jak to naprawić ? solution here nie działa dla mnie

Dzięki

Odpowiedz

38

Brakuje klasę swojej własnej użytkownika w konfiguracji enkodera, na przykład:

security: 
    encoders: 
     Symfony\Component\Security\Core\User\User: plaintext 
     MyProject\UserBundle\Entity\User: sha512 

Alternatywnie można dopasować go w interfejsie FOSUserBundle jak tak :

security: 
    encoders: 
     Symfony\Component\Security\Core\User\User: plaintext 
     FOS\UserBundle\Model\UserInterface: sha512 
+0

dziękuję! to działa, musiałem też użyć 'php -c', a następnie ścieżki do usr> private> php.ini z' date.timezone' i wreszcie utworzyć użytkownika. Dzięki, Seldaek! – Paul

1

Dla Symfony 2.7 należy użyć tej konfiguracji

security: 
encoders: 
    FOS\UserBundle\Model\UserInterface: bcrypt 

ALE! również powinieneś mieć php5.5 i Apache2.4/Ngnix

Powiązane problemy