Решением было установить значение сеанса, когда пользователь входит в систему. Затем у меня был небольшой класс, проверяющий, совпадает ли сохраненный идентификатор сеанса с текущим пользователем, вошедшим в систему.
Если пользовательвход в систему откуда-то еще, идентификатор сеанса в БД обновится, и «старый» пользователь выйдет из системы.
Я не изменял драйвер Auth или что-то еще, просто поместил его сверху, когда пользователь входит в системув. Ниже происходит, когда вход в систему успешен:
$user->last_session = session_id();
$user->save();
Чтобы проверить, является ли сеанс действительным, я использовал ниже
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
if(session_id() != Auth::user()->last_session){
Auth::logout();
return redirect('login');
}
return redirect('/');
}
return $next($request);
}
Ссылка Это Ссылка .