CakePHP,文件上传和不一致的Auth

时间:2011-08-11 17:10:26

标签: php cakephp

我在CakePHP中构建了一个正在进行文件上传的应用程序。对于每个文件上传,我知道用户的ID,所以我从$ this-> Auth-> user()

获取它

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

我错过了什么?谢谢!

2 个答案:

答案 0 :(得分:0)

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

在我的app_controller中,我在before_filter中调用以下内容来设置$current_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_user访问$current_user['id']的ID。

答案 1 :(得分:0)

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