Подтвердить что ты не робот

FOSUserBundle не настроен кодер: создание нового пользователя

Мне бы хотелось создать нового пользователя в FOSUserBundle (Symfony2), но я всегда получаю то же сообщение (я использую php app/console fos:user:create):

Кодировщик не настроен для учетной записи "MyProject\UserBundle\Entity\User".

импорт находится в правильном порядке

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

файл безопасности:

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]

но я всегда получаю ту же ошибку... Вы знаете, как это исправить? здесь не работает для меня

Спасибо

4b9b3361

Ответ 1

В конфигурации кодеров отсутствует собственный класс пользователя, например:

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

В качестве альтернативы вы можете сопоставить его на интерфейсе FOSUserBundle следующим образом:

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

Ответ 2

Для Symfony 2.7 вы должны использовать эту конфигурацию

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

НО! вы также должны иметь php5.5 и Apache2.4/Ngnix