我正在尝试为我正在构建的Yii应用程序设置身份验证。我从演示应用程序开始,对风格,内容以及我想要使用的忘记密码/电子邮件确认方案进行了一些更改。Yii登录不能在远程部署后工作
这适用于本地。问题是,当我推送到服务器时,我无法登录。我知道,根据配置main.php的方式,在对用户进行身份验证并存储会话或cookie之后对login()进行的调用完成成功。在用户重定向之前,他们已登录。但是,这不会在整个页面重定向过程中持续,例如, $ this->重定向(Yii :: app() - > user-> returnUrl)
actionLogout()方法永远不会被调用,并且我已经尝试启用和禁用基于cookie的身份验证,应用程序的行为。
因为它在本地工作,所以我非常确定问题出在我的服务器配置上。但是我看不到它,因为我的phpinfo显示会话已启用。
有没有人有关于这个问题可能在这里的想法?我将附加main.php,SiteController.php和phpinfo的输出。
main.php - http://pastebin.com/LR4i6vYZ
SiteController.php - http://pastebin.com/Fgm1a1nV
的phpinfo - http://pastebin.com/CDE2WqvK
此问题已解决。我将cookie的TTL值从0改为了一个很大的数字值,这应该使cookie无限期地持续下去。这应该不成功,但它确实。我将向Yii提交一份错误报告。我希望这篇文章能够帮助其他人解决同样的问题。 –
您不应该设置会话cookie一段时间,它应该在用户关闭浏览器窗口时到期。对于持久登录使用“记住我”功能。 – 2013-07-03 09:39:38
当然,你是对的,但是这需要将TTL设置为0.哪一个不起作用。这就是为什么我问这个问题。 –