如果用户在Cakephp 3中的任何新浏览器中登录,请手动从以前的浏览器会话注销

如果用户在Cakephp 3中的任何新浏览器中登录,请手动从以前的浏览器会话注销,php,session,cakephp,model-view-controller,cakephp-3.0,Php,Session,Cakephp,Model View Controller,Cakephp 3.0,我正在研究CakePHP3 我每次只需要用户登录一次 我正在使用CakephpAuth组件登录应用程序。我使用了数据库会话和蛋糕会话 但当我试图从数据库中手动删除会话或从app/tmp/Session中删除会话文件时,会话将重新创建 我不想禁止用户的第二次登录,但想破坏以前的会话 如何在Cakephp 3中实现单个用户会话。您可以将用户的当前会话id存储在用户表中: 登录之前,请检查该用户的用户表中是否存在当前会话id 如果会话id存在,请通过从会话表中删除旧会话来销毁它 登录后,存储生成的会

我正在研究CakePHP3

我每次只需要用户登录一次

我正在使用CakephpAuth组件登录应用程序。我使用了数据库会话蛋糕会话

但当我试图从数据库中手动删除会话或从app/tmp/Session中删除会话文件时,会话将重新创建

我不想禁止用户的第二次登录,但想破坏以前的会话


如何在Cakephp 3中实现单个用户会话。

您可以将用户的当前会话id存储在用户表中:

  • 登录之前,请检查该用户的用户表中是否存在当前会话id

  • 如果会话id存在,请通过从会话表中删除旧会话来销毁它

  • 登录后,存储生成的会话id


Lorenzo我尝试了这种方法,但会话是在远程机器上的/app/tmp/sessions中自动创建的,我必须手动删除会话文件。不要使用cake会话,这个用例更容易使用数据库sessions@JoséLorenzo我知道这已经有一段时间没有发布了,也没有给出答案了。但我现在正在研究这个问题。我想知道你是否可以详细说明如何做到这一点?我已经设置了数据库会话,它们正在工作,但我不知道如何检查特定会话是否存在,以及如何删除特定会话。