Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Невозможно авторизоваться по email и password, а вот авторизация по id работает нормально.
Нерабочий вариант:
public function login()
{
if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')), true))
{
return Redirect::intended('index');
}
return Redirect::back()->withInput(Input::except('password'))->with('message', 'Error!');
}
Рабочий вариант:
public function login()
{
if (Auth::loginUsingId(1)) return Redirect::intended('/');
return Redirect::back()->withInput(Input::except('password'))->with('message', 'Error!');
}
Причем в первом случае email и password нормально приходят. При введение правильных email и password (абсолютно точно), не возникает никаких ошибок, в if передается false и срабатывает последний return. Всю голову сломала почему так.... Причем значение email в БД уникальное (если в этом тоже могла бы быть проблема)...
Пробуй так
public function login()
{
if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
{
return Redirect::intended('index');
}
return Redirect::back()->withInput(Input::except('password'))->with('message', 'Error!');
}
Подозреваю, что может быть схожая проблема с этой: http://laravel.ru/forum/viewtopic.php?id=307 (особенно см. конец темы).
Не в сети
Proger_XP, благодарю! Я делала пробный вариант, еще не захэшировала пароли, не подумала, из-за этого может быть. Вроде бы, в документации об этом не сказано.
Не в сети
Срочно нужна помощь! Так я и не решила этот вопрос...
if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'))))
{
return Redirect::intended('index');
}
Авторизация не происходит. Пароли хранятся в захэшированном виде.
$user->password = Hash::make(Input::get('password'));
В логах при авторизации выводится следующее:
Prepare
set names 'utf8' collate 'utf8_unicode_ci'
Execute
set names 'utf8' collate 'utf8_unicode_ci'
Prepare
select * from `users` where `email` = ? limit 1
Execute
select * from `users` where `email` = 'ana9009' limit 1
Почему так может происходить? Очень важно...
Не в сети
Нет, не обновилась. If не срабатывает, функция Auth::attempt() возвращает false...
Не в сети
Страницы 1