2012-08-22 28 views
1

我遇到以下問題。CakePHP 2.0 loginRedirect問題 - https刪除

反向代理用於與內部網絡中的服務器建立安全(https)連接。所以地址是https://<url>。如果我現在登錄頁面(https://<url>/users/login)並點擊「提交」,則https將被刪除(通過loginRedirect),並嘗試通過http連接到網址。當然,這會進入超時狀態,但用戶已登錄。如果用戶正在直接訪問頁面,則表示正在工作。

一旦用戶在頁面上,他就可以做所有必要的事情,其他鏈接也會按照預期顯示。

我該如何避免loginRedirect刪除https?一種解決方案是簡單地使用$this->redirect('<url>');而不是$this->redirect($this->Auth->redirect());,但是如果有人未登錄並嘗試訪問需要驗證的頁面的特定部分,那麼我將丟失對直接鏈接的處理。

+0

可能與:http://stackoverflow.com/q/4472648/516219 – xeranas

+0

感謝提示。不幸的是沒有關聯,因爲我有Auth->重定向的問題,並且它由AuthComponent處理。 – user1171243

回答

1

我剛剛在CakePHP燈塔論壇獲得幫助,我想與你分享解決方案。這其實很簡單。在反向代理情況下,您必須編輯的bootstrap.php(在config文件夾中),並添加以下基本網址:

define('FULL_BASE_URL','https://your base url');