2014-12-26 3 views
1

Я после этого http://laravel.com/docs/4.2/security#authenticating-usersLaravel Аутентификация пользователя

И сделал с моими рабочими таблицами,

В то время как я пытаюсь проверить подлинность, она не все времени,

Я использую по умолчанию модели пользователя и авторизацию. Таблица пользователей php с предлагаемыми вещами в документации. Должен ли я делать что-то за пределами этого.

$email = Input::get('email'); 
    $password = Input::get('password');  
    if (Auth::attempt(array('email' => $email, 'password' => $password))) 
    { 
     return Redirect::intended('dashboard'); 
    } 
+0

«все время не работает». Это сообщение об ошибке? –

+0

Не могли бы вы показать нам ошибку mesasge, которую вы получаете? – teeyo

+0

@JosephSilber. ах, не он не прошел условие if, –

ответ

1

Пароль, который вы храните в своем столе, должен быть хешированным. Ларавел требует, чтобы это было. Но это не должно быть главной причиной. Пароль должен быть хэширован, поэтому никто не может узнать, что такое фактический пароль. Неважно, считаете ли вы, что ваш сервер базы данных безопасен, и никто не получит доступ. Всегда есть вероятность, что ваша база данных будет скомпрометирована, и в этом случае вы не будете защищать пароль пользователей.

Отметьте this question on Security Stack Exchange для получения дополнительной информации по этой теме.

Теперь вот быстрый способ получить хешированную версию вашего пароля. (Без регистрационной формы, которая, очевидно, должна это сделать). Добавьте к этому routes.php

Route::get('hash/{value}', function($value){ 
    return Hash::make($value); 
}); 

Откройте URL /hash/your-password и скопировать эту строку в password поле в базе данных.

+0

Я не могу сделать это без хеширования моего пароля? –

+0

Вы не должны. И если вы хотите, вам нужно сделать немного больше работы или написать собственный Auth UserProvider. Почему вы не хотите хешировать свой пароль? – lukasgeiter

+0

Ну, тогда я сделаю хэш-пароль, –