Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.04.2014 12:22:50

Настя

Невозможно авторизоваться по email и password

Невозможно авторизоваться по 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 в БД уникальное (если в этом тоже могла бы быть проблема)...

#2 18.04.2014 14:18:42

Андрей

Re: Невозможно авторизоваться по email и password

Пробуй так

 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!');
    } 

#3 18.04.2014 14:21:22

Re: Невозможно авторизоваться по email и password

Подозреваю, что может быть схожая проблема с этой: http://laravel.ru/forum/viewtopic.php?id=307 (особенно см. конец темы).

Не в сети

#4 18.04.2014 18:40:26

Настя

Re: Невозможно авторизоваться по email и password

Proger_XP, благодарю! Я делала пробный вариант, еще не захэшировала пароли, не подумала, из-за этого может быть. Вроде бы, в документации об этом не сказано.

#5 18.04.2014 20:06:11

Re: Невозможно авторизоваться по email и password

Так пароли надо хэшировать в любом случае, иначе как система их разберёт…

Не в сети

#6 27.05.2014 01:07:53

Анастасия

Re: Невозможно авторизоваться по email и password

Срочно нужна помощь! Так я и не решила этот вопрос...

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

Почему так может происходить? Очень важно...

#7 27.05.2014 08:35:49

Re: Невозможно авторизоваться по email и password

Вы до 4.2 обновлялись? Там добавилось новое поле remember_token.

Если не в этом проблема — что понимается под «Авторизация не происходит»?

Не в сети

#8 27.05.2014 10:27:33

Анастасия

Re: Невозможно авторизоваться по email и password

Нет, не обновилась. If не срабатывает, функция Auth::attempt() возвращает false...

#9 27.05.2014 10:29:12

Re: Невозможно авторизоваться по email и password

Самый простой и быстрый способ в вашем случае — поставить отладчик (XDebug или DBG для phpEd) и пройти по коду вызов за вызовом. Причин может быть много, если сообщения на форуме не помогают — попробуйте поискать сами.

Не в сети

Подвал раздела