the symfony2 node must fosuser fos_user fos db_driver configured child symfony fosuserbundle

node - security symfony2



No se puede crear un nuevo usuario con FOSUserBundle (2)

Intento crear un nuevo usuario desde la línea de comando y obtener este error:

Warning: array_search() expects parameter 2 to be array, null given in /vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/User.php line 368

Cuando intento crear un usuario registrándome en la interfaz web, obtengo esto:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column ''salt'' cannot be null

Iniciar sesión con un usuario ya existente funciona. También actualizando un perfil y cambiando la contraseña. Simplemente crear nuevos usuarios no funciona.

Estoy usando v 1.3.1 en una configuración muy simple y todavía no he encontrado ninguna solución.

¿Algunas ideas?


¡Fijo!

Tenía un método de constructor personalizado en mi entidad de usuario. Allí había olvidado llamar al constructor del parent::__construct(); con parent::__construct();


Quizás ayude a alguien. Puede ver este error cuando use el codificador bcrypt.

SQLSTATE[23000]: Integrity constraint violation: 1048 Column ''salt'' cannot be null

Para resolver este problema, solo agregue el reemplazo de mapeo para el atributo salt en su clase de usuario (haga que sea nulo)

use FOS/UserBundle/Model/User as BaseUser; use Doctrine/ORM/Mapping as ORM; /** * @ORM/Entity * @ORM/AttributeOverrides({ * @ORM/AttributeOverride( * name="salt", * column=@ORM/Column(name="salt", type="string", nullable=true) * ) * }) */ class User extends BaseUser { ... }

O bien: no olvide actualizar su esquema. ¡Si ocurrió un error después de la actualización del compositor!

bin/console doctrine:schema:update --force