Session 如何注销Yii2中的其他用户

Session 如何注销Yii2中的其他用户,session,yii2,Session,Yii2,我需要能够注销其他用户。我尝试了以下方法: Yii::$app->getSession()->destroySession($sessionId) 我为连接到此用户的每个sessionId执行此操作 我尝试更改authKey(enableAutoLogin设置为true)。 将enableAutoLogin设置为false没有帮助 该会话在数据库中被删除,但一旦该用户发出新请求,其会话(与以前具有相同的sessionId)就会再次出现在数据库中 我试着用这个: Yii::$app-

我需要能够注销其他用户。我尝试了以下方法:

Yii::$app->getSession()->destroySession($sessionId)
我为连接到此用户的每个sessionId执行此操作

我尝试更改authKey(enableAutoLogin设置为true)。 将enableAutoLogin设置为false没有帮助

该会话在数据库中被删除,但一旦该用户发出新请求,其会话(与以前具有相同的sessionId)就会再次出现在数据库中

我试着用这个:

Yii::$app->user->switchIdentity(User::findIdentity($id), 0);
Yii::$app->user->logout(true);
switchIdentity可以工作,但会在数据库中创建一个新会话(我使用注销方法销毁了该会话)

作为测试,我下载了基本和高级模板,两者都有相同的问题。我错过了什么

我尝试在纯PHP中执行同样的操作,但Yii设法恢复了用户会话,用户仍然登录


我正在使用Yii 2.0.6

尝试在
actionlogin()
中创建
authKey
。我已经在这样做了。在您启动
会话的地方显示更多的代码
。您确定Yii使用相同的会话ID返回相同的会话吗?我真的很怀疑。也许它正在马上创建另一个会话。可能是自动登录功能?然后它会像预期的那样工作。刚刚发现当我从配置中删除它时,一切都按预期工作:“readCallback”=>function($fields){return['expireDate'=>Yii::$app->formatter->asDate($fields['expire']),},