Ho un'app Laravel 4 nella quale ho impostato un utente. Nel mio percorso di accesso chiamo Auth::attempt
con l'e-mail e la password ma viene sempre restituito come falso. Ho sicuramente la password corretta e l'hash corretto nel database come Hash::check
restituisce true.Autenticazione Laravel 4 non funzionante
Penso che potrebbe essere dovuto all'utilizzo di email
come campo di accesso anziché username
, ma non riesco a vedere alcuna impostazione per quello. This question implicito è possibile aggiungere un'opzione a config/auth.php
ma non ha funzionato. This question dice di usare username
come chiave dell'array, ma poi ottengo l'errore SQL perché tenta di selezionare un campo username nel database.
Devo aggiungere qualcosa al modello Utente per specificare il campo del nome utente? Ecco il mio percorso di login:
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
});
La chiave di array deve corrispondere a una colonna utilizzata per autenticare gli utenti nel database. Questo è menzionato in [docs] (http://four.laravel.com/docs/security#authenticating-users). Hai cambiato il modello predefinito 'Utente' con cui L4 viene spedito? –