gpt4 book ai didi

Laravel:注销特定用户

转载 作者:行者123 更新时间:2023-12-02 13:57:58 27 4
gpt4 key购买 nike

我有一个基于角色的 Laravel 应用程序。我具有管理员角色并尝试阻止特定用户,然后立即将该用户从应用程序中注销。所以使用Auth::logout()事实并非如此,因为它注销了我自己,而不是目标用户!

最佳答案

这里的每个人都建议您删除用户 session ,但我认为这是一个坏建议,因为 session 可能包含您不想删除的信息。删除 session 只是为了注销用户就像用火箭筒杀死苍蝇一样。

更优雅的解决方案是将用户标记为注销,并检查是否在每个请求上都标记了用户。如果他被标记,只需使用简单的 Auth::logout() 立即注销他即可

您可以通过单击我的 answer to similar question 的链接找到代码示例.

更新 - 测试

好吧,伙计们,你们对我投了反对票,让我觉得自己像个傻瓜,所以我决定测试一下。

我已将 session 驱动程序切换到数据库。

然后我用session->put('mes', 'I\'m here!');创建了一条路线并运行它。之后我用 echo session->get('mes'); 执行了操作,所以我看到了这条消息。

之后我尝试关闭浏览器并再次打开它。我已使用 Auth::logout(); 注销然后登录。我仍然看到该消息。 session 已保留。

现在,当我使用 @Ben Swinburne 方法手动删除 session 时,该消息消失了。整个 session 被破坏。

所以,我想这证明了我的答案是正确的。

另外,请查看this卢卡斯盖特回答。

关于Laravel:注销特定用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36895314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com