laravel Hash :: заставить продолжать давать разные результаты

Я хочу использовать аутентификацию в laravel 4 Я изменил имя таблицы и mobel

когда пользователь регистрируется, у меня есть пароль и его сохранение, хэш:

$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 всегда дает другой результат.

Я использую хорошие методы проверки подлинности? каково решение этой хэш-функции?

Большое спасибо

Во-первых, не используйте Hash при попытке, это должно быть так:

 Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password'))); 

Поскольку вы храните пароль в своей базе данных вручную, создавая хэш с помощью Hash::make() а затем вставляете его в базу данных. Так что это может быть проблемой. Повторно введите пароль в базу данных и вставьте его прагматично, а затем повторите попытку.

Кроме того, вы можете проверить пароль, используя Hash::check('password', $hashedPassword) . Подробнее о безопасности на сайте Laravel . Используйте миграцию для заполнения поддельных данных, не вручную помещая какие-либо данные в базу данных.

Не хешируйте пароль в функции auth :: попытка (), код должен выглядеть следующим образом:

 Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password'))); 

Функция auth :: попытка () будет хешировать пароль, а затем проверить, совпадает ли он с тем, который хранится в базе данных