Sto provando la classe Auth di Laravel ma ogni volta che tento di accedere a un utente, il metodo restituisce false. Qui è il mio codice:Laravel 4 Auth :: try() restituisce sempre false
routes.php
Route::get('new-user', function() {
return View::make('register');
});
Route::post('new-user', function() {
$name = Input::get('name');
$email = Input::get('email');
$password = Hash::make(Input::get('password'));
$user = new User;
$user->name = $name;
$user->email = $email;
$user->password = $password;
$user->save();
});
Route::get('login', function() {
return View::make('login');
});
Route::post('login', function() {
$user = array(
'email' => Input::get('email'),
'password' => Hash::make(Input::get('password'))
);
if (Auth::attempt($user)) {
//return Redirect::intended('dashboard');
return "ok.";
} else {
return "Wrong.";
}
});
viste/login.blade.php
{{ Form::open(array('url' => 'login', 'method' => 'post')) }}
<h1>Login:</h1>
<p>
{{ Form::label('email', 'Email: ') }}
{{ Form::text('email') }}<br />
{{ Form::label('password', 'Password: ') }}
{{ Form::password('password') }}<br />
</p>
<p>
{{ Form::submit('Login') }}
</p>
{{ Form::close() }}
config/auth.php
return array(
'driver' => 'eloquent',
'model' => 'User',
'table' => 'users',
'reminder' => array(
'email' => 'emails.auth.reminder', 'table' => 'password_reminders',
),
);
Il database ha la posta elettronica & campi password e il campo password è varchar (60). Ogni volta che invio le informazioni di accesso a/login mi restituisce "Sbagliato". Non riesco davvero a vedere cosa c'è di sbagliato qui?
Ritorna ancora mi falso ("sbagliato".) – John
Secondo la documentazione (http://four.laravel.com/docs/security#storing-passwords) Le password sono passato unhashed per tentare(). Sono sicuro che questo era un problema, ma potresti averne più di uno. Assicurati che la password sia correttamente salvata nella tabella degli utenti. –
Ecco come immagazzino gli utenti nel database: 'Route :: post ('new-user', function() { $ name = Input :: get ('name'); $ email = Ingresso :: get ('e-mail'); $ password = Hash :: fanno (ingresso :: get ('password')); $ user = new user; $ user-> name = $ name; $ user-> email = $ e-mail; $ user-> password = $ password; $ user-> save(); }); ' dispiace io non so' come mostrare correttamente il codice qui. – John