首页 > 解决方案 > 使用 laravel 不能同时登录网络

问题描述

如何限制同一用户同时登录同一设备或不同设备的网络。例如。如果用户已登录一个系统并尝试在另一台设备上使用相同的凭据登录,则他/她必须从之前的设备中注销。

标签: laravel-5

解决方案


从 Laravel 5.6 开始,您可以访问logoutOtherDevices,这正是您想要的。

Laravel 还提供了一种机制,用于使用户在其他设备上处于活动状态的会话无效和“注销”,而不会使当前设备上的会话无效。

您需要确保在web中间件组中设置了以下中间件。

'web' => [
    // ...
    \Illuminate\Session\Middleware\AuthenticateSession::class,
    // ...
],

然后,您可以按如下方式使用它:

use Illuminate\Support\Facades\Auth;

Auth::logoutOtherDevices($password);

对于早期版本,您可以查看这个Stackoverflow 问题


推荐阅读