2011-05-06 106 views
0

我正在經歷一個非常奇怪的行爲。我使用CakePHP構建了我的應用程序,並使用了Nick Baker的Facebook插件。CakePHP Facebook插件以其他用戶身份登錄?

當我登錄時,一切正常。當別人登錄時,再次,一切正常。但是,如果有人在我登錄的同一時間登錄,那麼Auth中會爲該用戶記住正確的用戶標識,但Facebook數據是從我的帳戶中獲取的。

因此,如果我有用戶標識1並且約翰有用戶標識2,並且我們每個人都在同一時間登錄應用程序,則正確的標識存儲在Auth組件(分別爲2)中。但是如果我訪問一個顯示相應個人資料數據的頁面,我會看到我的照片和我的Facebook數據,但約翰也看到了我的照片和我的數據,而不是他的數據。

這是怎麼發生的?我真的需要幫助,因爲這超出了我的理解。

非常感謝!

回答

0

您是否啓用了緩存? Web服務器可能會將頁面的緩存版本提供給其他用戶。

+0

緩存在蛋糕?這些設置是默認設置。事情不是每次都像這樣。這是過去兩天的第一例。我不知道該期待什麼。或者,它可能是會話設置?它目前設置爲中等。 – linkyndy 2011-05-06 11:32:47

0

我有一個類似的問題,我認爲這是由於access_token被保存在用戶會話。由於Facebook和我的應用程序駐留在不同的域,當用戶從Facebook註銷時,應用程序會話不會被破壞。我解決了這個臨時調用在我的控制器的beforeFilter$this->Session->delete('FB');,像這樣:

public function beforeFilter() { 
    parent::beforeFilter(); 
    $this->Session->delete('FB'); 
} 

我想,這使得該插件的要求上不是最優的,但工程的每個請求一個新access_token。如果我錯了,請糾正我。

相關問題