管理员更改用户状态是在数据库中操作,而用户登录之后会话状态保存在session中,总不能用户刷新一个页面每次都要查询用户表数据库看用户的账户状态吧,各位大神有何解决方案?
框架本身只要登录状态每次都会查询一次user表,不然这个删除了这个用户他继续操作就会出错。
加个字段status在基类判断一下就好了,直接从Yii::$app->user->identity->status取就不会再多一次查询了
很显然,解决的方法就是:删除服务端的session。
如何删除?
登录之后获取session_id的值,当在后台删除这个用户的时候,服务端删除这个session_id文件,当然如果使用redis就更加方便了。