Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Странное дело. Я вот захэшировала пароли при регистрации.
Но подлинность паролей все равно не подтверждается. Что это может быть?
if (Auth::attempt(array('email' => Input::get('email'), 'password' => $userPassword), true))
{
return Redirect::intended('index');
}
- А как изменить алгоритм шифрования пароля? У меня в старой базе они шифруются мд5, как настроить на работу с ларавель старую бд не знаю
MD5 сегодня уже уязвимый алгоритм, лучше всего в данном случае — мигрировать таблицу (перехэшировать пароли). Если приложение на L4 единственное, что использует эти данные — это сделать легко.
Если надо сохранить MD5 стоит написать свой драйвер авторизации.
Настя
Причин может быть много, так не понять. Включите профайлер, посмотрите, что за запросы посылаются в БД.
Не в сети
Подскажите пожалуйста вот при Auth:validate возвращается строка: select * from `accounts` where `login` = 'admin' and `pass` = '123456' and `isActive` = 1 limit 1, пароль получается не хеширован, что это значит?
$creds = array(
'login' => "'".Input::get('login')."'",
'pass' => "'".Input::get('pass')."'",
'isActive' => '1',
);
Auth::validate($creds));
вот так у меня авторизация работает без проблем:
$auth = Auth::attempt(array(
'email' => Input::get('email'),
'password' => Input::get('password'),
'active' => 1
));
if ($auth) {
return Redirect::intended('my-account');
} else {
return Redirect::route('account-sign-in')
->with('message', trans('account.signin_error'));
}