CakePHP 2.6重定向时丢失身份验证设置

CakePHP 2.6重定向时丢失身份验证设置,cakephp,authentication,Cakephp,Authentication,当我从一个控制器操作重定向到另一个控制器操作时,CakePHP会丢失我的身份验证设置 我把它放在这里: $this->Auth->login($this->Authuser); if($this->Auth->user()) { //debug($this->Auth->user()); return $this->redirect(array('action'=>'parent

当我从一个控制器操作重定向到另一个控制器操作时,CakePHP会丢失我的身份验证设置

我把它放在这里:

$this->Auth->login($this->Authuser);
if($this->Auth->user())
        {
            //debug($this->Auth->user());
            return $this->redirect(array('action'=>'parentportal',$guardianid));
        }
如果我取消对调试的注释,它将在$this->Auth->user中显示数据。但是当我去重定向的时候

    public function parentportal($guardianid){
      $userData=$this->Auth->user();
     }
如果我在这里调试,那么值中没有任何内容

我在网络上进行了一次很好的搜索,我找到的答案似乎都在说要调整core.php中的Security.level值——但据我所知,这个值在这个版本的Cake中并不存在。我甚至在core.php中输入了它,看看它是否可以工作,并且没有任何改变

以下是我的控制器定义:

class UsersController extends AppController {
    public $components = array('Auth','Session','Epd');

    public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('logout','login','selectorg','consent','parentportal');
    }

有人能告诉我我错过了什么吗?提前谢谢

您正在将参数传递到登录名,让任何人登录


>您应该使用$-> > Auth->登录< /p>是否将HTTP重定向到HTTPS?如果可以,请考虑发布Debug配置::this->Auth->login$this->Authuser;我觉得你好像是在向自己的脚开枪。您不必对实际参数使用此方法。这适用于向用户发送25个字符的令牌的过程,当用户在电子邮件中单击该令牌时,需要将其登录到系统中,而无需通过u/p框。这就是为什么有数据被传递到$this->Auth->login.debugConfigure::read'Session';给出以下输出:数组'cookieTimeout'=>int 0,'checkAgent'=>false,'cookie\u secure'=>false,'referer\u check'=>false,'defaults'=>php'这是一个向用户发送25个字符令牌的过程,当用户在电子邮件中单击该令牌时,需要在不通过u/p框的情况下将其登录到系统中。这就是为什么会有数据被传递到$this->Auth->login您允许任何人登录您的应用程序。@Mortovski只要在用户通过电子邮件链接到达后获取用户数据,并将其写入会话数据,这样您就可以通过$this->Auth->user使用这些数据。看见但允许用户通过电子邮件链接登录可能会导致应用程序中存在漏洞。