讓我在提問之前解釋情況。我有一個網站domain.com。頁面sub.domain.com需要用戶登錄才能訪問。如果我允許訪問提供表單的sub.domain.com/login,該表單的操作是domain.com/login,則會將數據發送到domain.com/login,並像它應該那樣將其重定向回sub.domain.com/login。但是,如果我嘗試訪問sub.domain.com(需要身份驗證),它會正確重定向到domain.com/login,但登錄後不會重定向回到sub.domain.com。我發現錯誤是未登錄時的重定向不發送referrer頭。有沒有一種方法可以使用戶試圖訪問需要驗證的子域上的頁面,將其重定向到domain.com/login,然後返回到原來的位置?cakephp auth重定向和引薦者
1
A
回答
0
好吧,這一切曾與路線做。我終於能夠得到它在我的routes.php文件文件中設置了一個switch語句工作:
switch(Configure::read('subdomain'))
{
case 'subdomain':
Router::connect('/login', array('controller'=>'users', 'action'=>'login'));
}
併成立了我的引導,像這樣:
preg_match('/^(?:www\.)?(?:(.+)\.)?(.+\..+)$/i', env('HTTP_HOST'), $matches);
$subdomain = empty($matches[1]) ? false : $matches[1];
if(strlen($subdomain) > 0 && $subdomain != "www")
{
if($subdomain == 'api')
$_GET["url"] = $subdomain . "/" . (isset($_GET["url"]) ? $_GET["url"] : "");
Configure::write('subdomain', $subdomain);
}
0
重定向總是需要重定向回到sub.domain.com嗎?如果是這樣,我建議將AuthComponents loginRedirect屬性設置爲您希望用戶重定向到的位置。看到這個頁面:http://book.cakephp.org/1.3/en/view/1270/loginRedirect
此外,該頁面表示CakePHP會自動存儲您在會話中登錄之前訪問的控制器 - 操作對。所以也許你還應該檢查你的會話是否在domain.com和sub.domain.com之間共享。
最後一條評論:登錄後發生了什麼?你是否重定向到domain.com上的控制器/操作,或者根本沒有重定向?
注:我假設你正在使用CakePHP 1.3,並使用AuthComponent在登錄用戶
相關問題
- 1. 重定向時獲取HTTP引薦者
- 2. Cakephp Auth多重登錄重定向
- 3. CakePHP auth插件重定向問題
- 4. auth組件錯誤重定向cakephp 2.3
- 5. 刪除引薦重定向
- 6. 在表單提交中重定向至引薦者
- 7. 如何重定向保留原始引薦者字段?
- 8. 定期對引薦重定向表達
- 9. 重定向到引用者
- 10. 基於引薦網址的重定向
- 11. 重定向後丟失引薦
- 12. TYPO3 felogin重定向到引薦
- 13. CakePHP3 BeforeFilter&Auth重定向
- 14. CakePHP 2 - 通過Auth組件的引薦網址
- 15. CakePHP-AjaxMultiUpload和Auth
- 16. Angular2 Auth後重定向
- 17. Laravel Auth - 重定向登錄
- 18. 使用HTTP-AUTH重定向?
- 19. Auth :: routes()重定向循環
- 20. 重定向和查閱者
- 21. Auth組件在CakePHP中自動重定向
- 22. Cakephp AUTH,不同的登錄/註銷重定向前綴
- 23. 使用ajax防止cakePHP 2.1 auth組件重定向
- 24. CakePHP Auth登錄重定向到錯誤的地方
- 25. CakePHP Spark Plug auth插件導致重定向循環
- 26. Cakephp URL重寫和重定向
- 27. CakePHP重定向方法不重定向
- 28. 重定向CakePHP中
- 29. PHP重定向 - 隱藏引用者
- 30. 春季重定向回引用者
它應該將您重定向回哪裏你是,但它只是重新定向到登錄頁面。我的會話在這兩者之間共享,因爲一旦我登錄,我可以再次手動轉到sub.domain.com並訪問它。我正在使用CakePHP 1.3和AuthComponent – LordZardeck 2012-01-11 15:28:02
它實際上是否將您重定向到登錄頁面,還是重定向回到子域,然後將您重定向回登錄頁面? (這可能會如此之快,你不會注意到) 你可以找到通過使用httpfox(火狐擴展),它會告訴你所有的頭正在發送。 – Joep 2012-01-11 19:34:14
我重定向到'/'。發現,它與子域有關。 sub.domain.com是cakephp的'/'。蛋糕不區分domain.com和sub.domain.com – LordZardeck 2012-01-11 20:00:39