在CakePHP中,会话超时,并非不合理地,在存储的会话中删除任何自定义数据。
然而,它也设置了一个Auth.redirect,因此在用户被强制回到登录界面并完成登录后,他们会(默认情况下)重定向回会话到期前他们所在的页面。如果该页面依赖于存储在会话中但现在不再可用的某些自定义数据,则会出现问题。
我的简单解决方案是通过删除会话中的Auth.session键,强制用户返回已验证用户的主页。但这不是一种特别理想的行为。如果我可以将用户返回到会话超时之前的位置,那将是更好的选择。
尽管如此,我喜欢用户在长时间放弃会话时必须重新进行身份验证的想法。
因此,似乎需要的是CakePHP需要重新验证用户,但实际上不会使基础会话到期,这会导致一些问题:
有没有办法让CakePHP要求重新验证会话,如上所述,没有超时会话(即在会话上设置长时间超时)?
实际上是否存在更好的方法来存储页面转换所需的信息(例如,给定模型的父记录的ID以便可以使用saveAssociated)而不是将它们存储在会话中?
感谢您的指导。