authentication - password - remember_token laravel
La autenticación de Laravel 4 no funciona (3)
En app / config / app.php, asegúrese de tener la ''clave'' establecida. Esto me hizo sacar mi cabello. Todo parecerá que funciona, la contraseña parece tener un hash en la base de datos, pero siempre devolverá falso hasta que establezca esta clave y vuelva a codificar su contraseña en la base de datos.
"php artesanal clave: generar"
Tengo una aplicación Laravel 4 en la que he configurado un usuario. En mi ruta de inicio de sesión llamo a Auth::attempt
con el correo electrónico y la contraseña pero siempre aparece como falso. Definitivamente tengo la contraseña correcta y el hash correcto en la base de datos, ya que Hash::check
devuelve verdadero.
Creo que puede deberse al uso del email
como el campo de inicio de sesión en lugar de un username
de username
, pero no puedo ver ninguna configuración para eso. Esta pregunta implicaba que podría agregar una opción a config/auth.php
pero no funcionó. Esta pregunta dice que use el username
como la clave del arreglo, pero luego recibo un error SQL porque intenta seleccionar en un campo de nombre de usuario en la base de datos.
¿Debo agregar algo al modelo de Usuario para especificar el campo de nombre de usuario? Aquí está mi ruta de inicio de sesión:
Route::post(''login'', function() {
// data from login form
$credentials = array(
''email'' => Input::get(''email''),
''password'' => Input::get(''password'')
);
$auth = Hash::check(Input::get(''password''), Hash::make(''mypass''));
var_dump($auth); // this is TRUE
// login was good
$auth = Auth::attempt($credentials);
var_dump($auth); // this is FALSE
});
Encontré el problema. Como lo sugirió Jason en el comentario anterior, modifiqué el archivo models/User.php
algunas funciones que no me di cuenta que eran necesarias.
Los getAuthIdentifier()
y getAuthPassword()
deben incluir en el modelo de usuario para la autenticación.
Tuve el mismo problema y me hizo sudar durante horas. Verifique definitivamente su modelo User.php y asegúrese de no haber sobrescrito el predeterminado. Gracias Jason!