yii2 session 存储在数据库中,如何强制退出某个用户?

发布于 2022-09-12 22:33:41 字数 155 浏览 37 评论 0

我这样尝试了

  1. 手动删除 session 表中用户 A 的记录
  2. 刷新用户 A 的用户中心,依然还处于登录状态
  3. 查看 session 表,用户 A 的记录又出现了

那怎么才能强制让用户 A 退出,A 可能在多处的网页登录。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

早乙女 2022-09-19 22:33:41

因为Cookie带了相关信息,应用认了Cookie信息,通过session驱动到表里。

既然你还不清楚怎么退出,我猜Yii这个框架的用户鉴权方式默认是自带的。

一般框架自带的鉴权方式默认都实现了开箱即用的 退出当前设备 退出所有设备 仅退出其它设备 等session注销方式。
这些代码虽然都集成到框架内部了,但由于是业务代码,所以一般都很简单,只是框架给它封装的看起来优雅一点,考虑的多一点而已。其本质上还是cookie、session那一套删来删去,建议可以看看它内部代码具体是如何写的。

预谋 2022-09-19 22:33:41

根据搜索到的信息

1 在用户字段上增加一个 force_logout 标记
2 在 beforeAction 里判断 force_logout 标记,如果有就 logout,重置 force_logout 标记,然后跳转
3 强制登出的地方 设置这个 force_logout 标记

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文