CakePHP、文件上载和身份验证不一致

CakePHP、文件上载和身份验证不一致,php,cakephp,Php,Cakephp,我有一个内置于CakePHP的应用程序,它正在进行文件上传。对于每个文件上传,我知道用户的id,所以我从$this->Auth->user()获取它 现在,我发现,当我在页面上时,我会在登录时上载文件,但有时当我打印$this->Auth->user()时,它不会返回任何内容,然后下次尝试上载文件时,它会返回,所有这些都不需要e登录或注销。它看起来非常不一致,有时它在那里,但有时它看不到 我错过了什么?谢谢 为什么不将应用程序控制器中的var设置为$this->Auth->userModel,以

我有一个内置于CakePHP的应用程序,它正在进行文件上传。对于每个文件上传,我知道用户的id,所以我从$this->Auth->user()获取它

现在,我发现,当我在页面上时,我会在登录时上载文件,但有时当我打印$this->Auth->user()时,它不会返回任何内容,然后下次尝试上载文件时,它会返回,所有这些都不需要e登录或注销。它看起来非常不一致,有时它在那里,但有时它看不到


我错过了什么?谢谢

为什么不将应用程序控制器中的var设置为
$this->Auth->userModel
,以便应用程序的其余部分可以访问它呢

在我的应用程序\u控制器中,我在
before\u filter
中调用下面的设置
$current\u user

/**
 * Sets a value for current user $current_user.
 * @return boolean
 */
function __setCurrentUser() {
    $user = null;
    if ($user = $this->Auth->user()) {
        $this->set('current_user', $user[$this->Auth->userModel]);
        return true;
    } else {
        return false;
    }
}

在我的应用程序的其他地方,我可以通过
$current\u user['id']

访问
$current\u user
的id。您也可以始终从AuthComponent创建的会话中获取用户信息。如果$this->Auth->user('id')为空。。我想知道是否真的有一个有效的会话!您确定您在此期间没有注销,并且由于某种原因,该页面不需要登录吗?

您是否需要整个应用程序中的Auth组件?修复:安全设置为“高”,因此它不断使用我的ajax调用重新生成会话ID,这使我的会话无效