2016-11-01 4 views
1

Я внедрил запоминающийся логин в моем проекте laravel 5.3, но iam работает с некоторыми проблемами, когда пользователь возвращается на страницу, автоматически регистрируясь, но переменные пользовательских сеансов не установлены, поскольку сессия уже истекла.Laravel 5.3 Запомнить меня Auth issue

У меня есть время жизни в сеансе до 120 и срок действия на закрытии - это правда.

Мой вопрос: как я могу проверить, выполняется ли аутентификация пользователя посредством запоминания токена для повторного использования переменных сеанса? Я думал создать для этого промежуточное ПО, но я не знаю, правильно ли это.

Мои таможенные сессий переменные:

session()->get('client_id') -> int 
session()->get('acl') -> array 

Может кто-нибудь направить меня в правильном направлении?

ответ

3

Проверьте следующее решение и убедитесь, что оно работает.

Determine if the User Was Authenticated Via the Remember Cookie

Отредактировано:

Добавить прослушиватель событий в EventServiceProvider

protected $listen = [ 
     'Illuminate\Auth\Events\Login' => [ 
      'App\Listeners\[email protected]', 
     ], 
    ]; 

Генерировать событие и обработчик для слушателя

php artisan event:generate 

Перейти к UpdateLoginType и редактировать handle способ проверить тип входа

public function handle(Login $event) 
    { 
     if (\Auth::viaRemember()) { 
      //do something 
     } else { 
      //do something else 
     } 
    } 

Убедитесь, что передача переменной remember правильно при входе в систему.

Вопрос похож на this one

+0

Я знаю функцию viaRemember(), но он всегда возвращает ложь независимо от того, что я делаю всегда, но мой вопрос в том, где это использовать? – Galfau

+0

@ Ответ Galfau отредактирован. вы можете попробовать и посмотреть, работает ли он. – shoieb0101

+0

он работал отлично, поскольку событие я просто переместил логику session() - set() из входа AuthController @ в Event и теперь мне не нужно использовать Auth :: viaRemember(), поскольку Laravel всегда будет бросать это событие при входе в систему успешный. Благодаря! – Galfau

Смежные вопросы