我在一个网站中使用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