Session CakePHP:当我更改用户会话时,我会注销

Session CakePHP:当我更改用户会话时,我会注销,session,cakephp,login,admin,Session,Cakephp,Login,Admin,我需要添加管理员进入用户帐户的可能性,但当我更改会话数据时,我被卡住了,我被注销了 $\u会话['Auth']['User']['username']=$User\u数据['User']['username'] 为了回到管理会话中,我创建了一个新变量 $\u会话['Auth']['Admin']['id']=$user\u id 请帮助我将管理员数据更改为用户,并添加注销时以管理员身份返回的可能性要在您是管理员时以用户身份登录,您可以执行以下操作: 在控制器中: $user = $this-&g

我需要添加管理员进入用户帐户的可能性,但当我更改会话数据时,我被卡住了,我被注销了

$\u会话['Auth']['User']['username']=$User\u数据['User']['username']

为了回到管理会话中,我创建了一个新变量

$\u会话['Auth']['Admin']['id']=$user\u id


请帮助我将管理员数据更改为用户,并添加注销时以管理员身份返回的可能性

要在您是管理员时以用户身份登录,您可以执行以下操作:

在控制器中:

$user = $this->User->findById($idOfUserYouWantToLoginAs);
... // handle case where $user is empty
$this->Auth->login($user['User']);

或者,您可以根据需要更改会话中的变量。我昨天做的只是更改登录用户的id,但您也可以更改存储的用户名或电子邮件地址或会话中的任何内容:

$this->Session->write('Auth.User.id',$newLoggedUserId);
$this->Session->write('Auth.User.username',$newLoggedUserName);
$this->Session->write('Auth.User.email',$newLoggedUserEmail);

我这么说,但PGBI是对的,登录($data)就可以了。非常感谢!我尝试使用用户名或id登录,更改会话,我知道解决方案必须很简单:)