Я использую слушателей в приложении 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() (конечно) отображается пустой после выхода.

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

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

0
Greenie 1 Окт 2019 в 04:50

1 ответ

Лучший ответ

Если вы посмотрите на Иллюстрирует \ auth \ События \ logout Файл, вы можете увидеть, что имеет два свойства: user и guard и guard.

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

public function handleUserLogout($event) {
    return $this->recordCandActivity($event->user->id, 'logged out', 'User logged Out', 'Logout', 'No link'));
}
1
azeós 1 Окт 2019 в 03:00