我在一個網站中使用CakePHP,我想知道如何在會話過期時自動重定向?會話過期後CakePHP重定向
回答
會話到期等同於用戶註銷您的應用程序。你可以設置變量
$this->Auth->logoutRedirect = array('component'=>'YourComponent','action'=>'YourAction');
並且這將實現類似的結果。你想在AppController的beforeFilter()中設置它。
如果您希望重定向用戶會話過期的第二秒,您需要滾動一些自定義JavaScript以實現此效果。您可以從確定會話過期前的大概秒數開始,將其傳遞給javascript setTimeout()調用並觸發強制用戶註銷的函數。這種方法有一些注意事項,但它也會起作用。
優秀,非常感謝! 它是有道理的。但是,如果用戶禁用Javascript,該怎麼辦? – Juanda 2010-07-28 12:37:26
然後,您將無法強制用戶註銷。您只需等待他們從CakePHP發出下一個請求即可。此時,Cake會看到會話已過期,並強制他們在當時註銷,將它們重定向到您在$ this-> Auth-> logoutRedirect中設置的任何內容。 :) – mikegreenberg 2010-07-28 18:35:48
使用您的組件($組件),您可以選擇登錄細節和lougout,例如會話關閉時的重定向頁面。
public $components = array(
'Session'=>array(
'timeout' => 620
),'Auth' => array(
'loginRedirect' => array(
'controller' => 'pages',
'action' => 'display',
'home'
),
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'login'
),
'authenticate' => array(
'Form' => array(
'passwordHasher' => 'Blowfish'
)
)
)
);
- 1. 會話過期後自動重定向
- 2. 與後重定向會話過期
- 3. OAuth重定向後CakePHP會話丟失
- 4. 會話過期時重定向 - [Magento]
- 5. Spring Security 3.0.5會話過期重定向
- 6. PHP會話過期重定向
- 7. JSP在會話過期/超時後自動重定向
- 8. 在會話過期後重定向到登錄頁面
- 9. 重定向到會話後,不同的頁面過期
- 10. 會話過期後Laravel重定向不工作
- 11. 如何在會話cookie過期後重定向到頁面?
- 12. Symfony重定向到會話過期後的登錄頁面
- 13. 如何在會話過期後重定向jsp頁面?
- 14. 會話過期後重定向到先前瀏覽的網頁
- 15. 檢查會話是否過期,然後重定向(Joomla)
- 16. 條紋 - 重定向,到期會話
- 17. CakePHP x秒後重定向?
- 18. 重定向後丟失會話變量
- 19. passport.js會話重定向後丟失
- 20. 會話不工作後重定向
- 21. 會話丟失後重定向
- 22. 重定向後會話變量消失
- 23. 重定向後PHP會話被破壞?
- 24. 重定向後未找到會話值
- 25. 重定向後的會話ASP.net
- 26. 會話重定向後不工作
- 27. 在Codeigniter重定向後會話丟失
- 28. Codeigniter在重定向後丟失會話
- 29. 重定向後PHP會話丟失
- 30. 重定向後丟失會話變量
順便說一句,我使用的驗證組件沒有ACL – Juanda 2010-07-27 14:32:46