我这样尝试了
- 手动删除 session 表中用户 A 的记录
- 刷新用户 A 的用户中心,依然还处于登录状态
- 查看 session 表,用户 A 的记录又出现了
那怎么才能强制让用户 A 退出,A 可能在多处的网页登录。
我这样尝试了
那怎么才能强制让用户 A 退出,A 可能在多处的网页登录。
根据搜索到的信息
1 在用户字段上增加一个 force_logout 标记
2 在 beforeAction 里判断 force_logout 标记,如果有就 logout,重置 force_logout 标记,然后跳转
3 强制登出的地方 设置这个 force_logout 标记
因为Cookie带了相关信息,应用认了Cookie信息,通过session驱动到表里。
既然你还不清楚怎么退出,我猜Yii这个框架的用户鉴权方式默认是自带的。
一般框架自带的鉴权方式默认都实现了开箱即用的 退出当前设备 退出所有设备 仅退出其它设备 等session注销方式。
这些代码虽然都集成到框架内部了,但由于是业务代码,所以一般都很简单,只是框架给它封装的看起来优雅一点,考虑的多一点而已。其本质上还是cookie、session那一套删来删去,建议可以看看它内部代码具体是如何写的。