Я пытаюсь использовать класс Autara Laravel, но каждый раз, когда я пытаюсь войти в систему, метод возвращает false. Вот мой код:Laravel 4 Auth :: попытка() всегда возвращает 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.";
}
});
просмотров/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() }}
конфигурации/auth.php
return array(
'driver' => 'eloquent',
'model' => 'User',
'table' => 'users',
'reminder' => array(
'email' => 'emails.auth.reminder', 'table' => 'password_reminders',
),
);
база данных имеет электронную почту & поля пароля, а поле пароля - varchar (60). Всякий раз, когда я отправляю информацию для входа в/login, он возвращает меня «Неправильно». Я действительно не понимаю, что здесь не так?
Он по-прежнему возвращает мне false («Неправильно»). – John
В соответствии с документацией (http://four.laravel.com/docs/security#storing-passwords) пароли передаются unhashed для попытки(). Я уверен, что это была одна проблема, но у вас может быть несколько. Убедитесь, что пароль правильно сохранен в вашей таблице пользователей. –
Вот как я храню пользователей в базе данных: 'Route :: post ('new-user', function() { $ name = Вход :: get ('name'); $ email = Вход :: get ('email'); $ password = Hash :: make (Input :: get ('password')); $ user = new Пользователь; $ user-> name = $ name; $ user-> электронная почта = $ электронная почта; $ user-> пароль = $ пароль, $ user-> Save(); }); ' жаль, что я«не знаю, как показать код правильно здесь. – John