Решено | Проверьте, подключен ли указанный c пользователь | Laravel Auth - PullRequest
0 голосов
/ 18 апреля 2020

Я хотел бы знать, есть ли какой-нибудь способ узнать, активен ли пользователь (с начала сеанса) на моей странице.

Я знаю, что Auth::check() существует, но он возвращается только в том случае, если Локальный пользователь аутентифицирован, я не могу использовать его для запроса какого-либо пользователя.

Я изменил LoginController так, чтобы в методе входа в систему и в методе выхода из системы база данных меняла меня и таким образом знала если он начался или был отключен. Но это решение становится бесполезным, если пользователь выходит из системы другим способом, например, закрывая браузер.

Мне пришло в голову, что я могу создать своего рода событие setTimeOut, которое проверяет Auth::check() каждые 10 минут, и если он возвращает false, измените базу данных этого пользователя, понимая, что он больше не подключен. Но я не знаю, как это сделать.

Извините, это уже решено, я использовал этот пакет:

https://github.com/highideas/laravel-users-online

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать базу данных сеансов, чтобы вы могли проверить всех зарегистрированных пользователей на вашей платформе и ее последнее действие.

вот схема базы данных сеансов

Schema::create('sessions', function ($table) {
    $table->string('id')->unique();
    $table->unsignedInteger('user_id')->nullable();
    $table->string('ip_address', 45)->nullable();
    $table->text('user_agent')->nullable();
    $table->text('payload');
    $table->integer('last_activity');
});

, а затем настроить SESSION_DRIVER=database тогда вы увидите все активные / неактивные сеансы в вашей базе данных сеансов.

...