CakePHP 2.6在重定向时丢失了Auth设置

时间:2015-02-17 04:23:32

标签: cakephp authentication

当我从一个控制器动作重定向到另一个控制器动作时,我遇到了CakePHP丢失我的Auth设置的问题。

我在这里设置:

$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值 - 但是这个值并没有被读取在这个版本的蛋糕(据我所知)。我甚至在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');
    }

有谁能告诉我我在这里失踪了什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您正在将参数传递给login(),其中记录了任何人。

Check the details on how to configure your login method in the book, and note the pink box

Cakephp book notice

所以你应该使用$this->Auth->login()