删除Laravel中的用户登录会话

时间:2017-06-28 07:51:01

标签: php laravel session laravel-5.4

我希望在管理员面板中有一个用于终止用户会话的选项,

我有一个针对所有用户会话的日志监控器,我有每个用户的会话ID。

如何在会话ID为laravel的用户中删除会话?

forget()无法使用会话ID:

$request->session()->forget($session);

$session是我在$request->session()->getId()之前存储在数据库中的用户会话ID。

3 个答案:

答案 0 :(得分:0)

您可以使用:

$request->session()->flush();

答案 1 :(得分:0)

我认为您可以使用方法destroy来删除会话ID的会话。

destroy($sessionId);

您可以在这里阅读更多内容: https://laravel.com/docs/5.4/session#adding-custom-session-drivers

答案 2 :(得分:0)

您可以使用database代替file session,然后以这种方式删除用户会话(也可以在api路由中使用):

$user_id = '123';
DB::table('sessions')
    ->whereUserId($user_id)
    ->delete();

就我个人而言,我从api路由请求中获得了用户ID:

$user_id = $request->user()->id
相关问题