laravel Hash:: make keep дает разные результаты
Я хочу использовать аутентификацию в laravel 4 Я изменил имя стола и мобеля
Когда пользователь регистрируется, у меня есть пароль и сохранить его, хэш:
$password = Hash::make(Input::get('password'));
А затем, когда пользователь войдет в систему, я хочу сначала аутентифицировать его/ее. Я делаю это так:
if (Auth::attempt(array('username' => Input::get('usernaem'), 'password' => Hash::make(Input::get('password')))))
{
return Redirect::intended('dashboard');
}
И это никогда не приносит успеха. Я попытался отладить код, и кажется, что функция Hask::make
всегда дает другой результат.
Использую ли я хорошие методы аутентификации? для чего существует решение эта хэш-функция ?
Большое спасибо
2 ответа:
Во-первых, не используйте
Hash
при попытке, это должно быть так:Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')));
Поскольку вы сохранили пароль в базе данных вручную, сделав хэш с помощью
Hash::make()
, а затем вставили его в базу данных. Так что это может быть проблемой. Повторно введите пароль в базу данных и вставьте его прагматично, а затем повторите попытку.Кроме того, вы можете проверить пароль, используя
Hash::check('password', $hashedPassword)
. Подробнее о безопасности читайте на веб-сайтеLaravel
. Используйте миграцию для заполнения поддельных данных, не ставьте их вручную данные в базу данных.