Можете ли вы получить идентификатор пользователя из события Auth Logout? - PullRequest
0 голосов
/ 01 октября 2019

Я использую Слушатели в приложении Laravel 5.8 для регистрации действий пользователя.

Я хочу создать запись в журнале, когда пользователь входит в систему и выходит из нее.

Моя функция входа в системуработает нормально: я могу получить идентификатор пользователя через auth()->id().

У меня проблемы с идентификацией идентификатора пользователя, вышедшего из системы, в функции выхода из системы.

У меня есть подписчик:

        $events->listen(
            'Illuminate\Auth\Events\Logout',
            'App\Listeners\UserEventSubscriber@handleUserLogout'
        );

и я пытаюсь найти идентификатор пользователя вошедшего в систему пользователя ...

<?php

namespace App\Listeners;

use Log;
use Auth;
use Illuminate\Auth\Events\Logout;
use Illuminate\Auth\Events\Login;
use App\User;

class UserEventSubscriber
{    
public function handleUserLogout($event) {
        return $this->recordCandActivity(array(auth()->id(), 'logged out', 'User logged Out', 'Logout', 'No link'));
    }

, но auth()->id() (конечно) отображается пустым выходом из системы.

Кто-нибудь знает способ получения только что зарегистрированного идентификатора пользователя из события Auth Logout?

Заранее спасибо.

1 Ответ

0 голосов
/ 01 октября 2019

Если вы посмотрите на файл Illuminate \ Auth \ Events \ Logout , вы увидите, что он имеет два свойства: user и guard.

Эти свойствадоступны через параметр $event в вашем слушателе.

public function handleUserLogout($event) {
    return $this->recordCandActivity($event->user->id, 'logged out', 'User logged Out', 'Logout', 'No link'));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...