【问题标题】:How to flush specific user sessions如何刷新特定的用户会话
【发布时间】:2019-02-13 12:31:12
【问题描述】:

我的应用程序中有一个垃圾邮件检查系统。当用户做出 suspicius 移动时,我将他标记为“suspect”并将其存储在会话中。

但在管理员方面,我正在检查可疑动作,如果没有垃圾邮件尝试,我想从此用户会话中删除“suspect”标记

我该怎么做?

【问题讨论】:

    标签: php laravel session


    【解决方案1】:

    会话通常存储在文件中,但您可以将其设置为数据库。因此,如果所有会话都存储在数据库中,您可以直接从您的管理员帐户轻松地从用户更新会话。当会话存储在文件中时也可以,但我认为在数据库中时更容易搜索。

    您可以告诉 laravel 会话应该存储在哪里,如下所示: https://laravel.com/docs/5.6/session#driver-prerequisites

    【讨论】:

    • 我明白了,但是我不想和数据库进行太多的交流,有没有办法不使用数据库来做到这一点?
    【解决方案2】:

    设置会话

    session()->put('session_name',value);
    

    删除会话

    session()->forget('session_name');
    

    删除所有会话使用

    session()->flush();
    

    【讨论】:

    • 我不想删除所有会话,我只想删除特定用户会话
    • @HasanTıngır : 你可以使用这个 session()->forget('user_session_name');
    猜你喜欢
    • 1970-01-01
    • 2014-03-16
    • 2010-09-19
    • 2019-03-12
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    相关资源
    最近更新 更多