我有一個內置CakePHP的應用程序正在進行文件上傳。對於每個文件上傳,我知道用戶的ID,所以我抓住它$ this-> Auth-> user()CakePHP,文件上傳和不一致Auth
現在,我發現當我在頁面上時,但有時當我print_r $ this-> Auth-> user()時,它不會返回任何東西,然後當我下次嘗試上傳文件時,它會回來,所有這些都不需要登錄或註銷。它看起來非常不一致,有時候它在那裏,但有時候它不會看到它。
我錯過了什麼?謝謝!
我有一個內置CakePHP的應用程序正在進行文件上傳。對於每個文件上傳,我知道用戶的ID,所以我抓住它$ this-> Auth-> user()CakePHP,文件上傳和不一致Auth
現在,我發現當我在頁面上時,但有時當我print_r $ this-> Auth-> user()時,它不會返回任何東西,然後當我下次嘗試上傳文件時,它會回來,所有這些都不需要登錄或註銷。它看起來非常不一致,有時候它在那裏,但有時候它不會看到它。
我錯過了什麼?謝謝!
爲什麼不將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['id']
訪問$current_user
的ID。
您也可以始終從由AuthComponent創建的會話中獲取userinfo。如果$ this-> Auth-> user('id')是空的。我想知道是否真的有一個有效的會話!您確定在此期間您還沒有登出,並且由於某種原因該網頁不需要登錄?
您是否需要整個應用中的Auth組件? – Ken
是的,在app_controller – pll
FIXED:安全性設置爲「高」,因此它不斷重新生成會話ID與我的ajax調用,這是使我的會話無效 – pll