Я использую слушателей в приложении 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?
Заранее спасибо.
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'));
}
Похожие вопросы
Новые вопросы
laravel
Laravel - это бесплатная веб-инфраструктура PHP с открытым исходным кодом, созданная Тейлором Отвеллом и предназначенная для разработки веб-приложений по архитектурному шаблону модель-представление-контроллер (MVC) на основе Symfony. Исходный код Laravel размещен на GitHub и лицензирован в соответствии с условиями лицензии MIT.