我正在嘗試爲我正在構建的Yii應用程序設置身份驗證。我從演示應用程序開始,對風格,內容以及我想要使用的忘記密碼/電子郵件確認方案進行了一些更改。Yii登錄不能在遠程部署後工作
這適用於本地。問題是,當我推送到服務器時,我無法登錄。我知道,根據配置main.php的方式,在對用戶進行身份驗證並存儲會話或cookie之後對login()進行的調用完成成功。在用戶重定向之前,他們已登錄。但是,這不會在整個頁面重定向過程中持續,例如, $ this->重定向(Yii :: app() - > user-> returnUrl)
actionLogout()方法永遠不會被調用,並且我已經嘗試啓用和禁用基於cookie的身份驗證,應用程序的行爲。
因爲它在本地工作,所以我非常確定問題出在我的服務器配置上。但是我看不到它,因爲我的phpinfo顯示會話已啓用。
有沒有人有關於這個問題可能在這裏的想法?我將附加main.php,SiteController.php和phpinfo的輸出。
main.php - http://pastebin.com/LR4i6vYZ
SiteController.php - http://pastebin.com/Fgm1a1nV
的phpinfo - http://pastebin.com/CDE2WqvK
此問題已解決。我將cookie的TTL值從0改爲了一個很大的數字值,這應該使cookie無限期地持續下去。這應該不成功,但它確實。我將向Yii提交一份錯誤報告。我希望這篇文章能夠幫助其他人解決同樣的問題。 –
您不應該設置會話cookie一段時間,它應該在用戶關閉瀏覽器窗口時到期。對於持久登錄使用「記住我」功能。 – 2013-07-03 09:39:38
當然,你是對的,但是這需要將TTL設置爲0.哪一個不起作用。這就是爲什麼我問這個問題。 –