我有一个登录屏幕,我强迫ssl,所以像这样:https: //www.foobar.com/login 然后他们登录后,他们被移动到主页:https: //www.foobar.com/dashbaord
但是,我想在登录后将人员从SSL中移除(以节省CPU),因此在检查到他们实际登录https://www.foobar.com/dashbaord后我将其移至 http:// www.foobar.com/dashbaord
好吧,这总是似乎消灭了会话变量,因为当页面再次运行时,它确认它们已登录(如同所有页面一样)并且会话似乎不存在,因此它将它们移动到登录屏幕.
奇怪/结果:
项目清单
第二次登录总是有效,并愉快地带我到http://www.foobar.com/dashbaord
它首次登录时成功创建了一个cookie
如果我登录两次,然后注销,再次登录,我不需要两次登录(我似乎已经跟踪了cookie存在的事实).如果我删除cookie,我会回到两次登录.
第二次登录后,我可以从ssl的非ssl移动,会话仍然存在.
在第一次登录时,移动到非ssl站点会彻底清除会话,手动移回ssl站点仍然会强制我再次登录.
第二次登录使用与第一次完全相同的机制,通过ssl
我尝试了什么:
使用Cake的security.level和session.checkagent设置 - 什么都没有
蛋糕存储在db中的会话(而不是文件系统) - 什么都没有
在XP机器上测试FF,IE,Chrome.
所以我觉得这与创建cookie但没有被阅读有关.
环境:1.Debian 2. Apache 2 3. Mysql 4 4. PHP 5 5. CakePHP 6.会话正在保存PHP默认,作为文件