2013-02-05 29 views
1

在我的应用程序中,当用户从一个页面移动到另一个页面时,会话持续存在。然而,应用程序使用支付网关,如果用户转到支付网关,然后按回来尝试返回到我的应用程序,Cake将删除旧会话(及其包含的所有数据)并制作一个新会话。从支付网关返回时蛋糕会话丢失

我发现this question这是有点相同的问题,除了当用户从支付网关按下“返回”,我真的不认为会被归类为被引用时发生。

不管怎样,在这个问题的建议是要改变Configure::write('Security.level')low但我使用CakePHP 2.3,我从changelog注意的是已经完成的“删除从core.php中Security.level”的事情之一 - 这似乎是因为这个特定的设置不再用于任何事情。

所以,我的问题是如何禁用导致Cake从支付网关引用(或简单地按回)时导致Cake丢弃并重新生成会话的内容?

回答

2

我建议更改以下core.php设置:

Configure::write('Session', 
    array(
     'defaults' => 'php', 
     'timeout' => '30', 
     'autoRegenerate' => false 
    ) 
); 

我也有类似的问题,而且解决了这个问题对我来说。

谢谢,

+0

奇怪,它似乎有点工作,然后再次停止工作。现在我还必须添加''checkAgent'=> false'以使其再次工作。不过,我不明白为什么从支付网关按“返回”会改变用户代理。这没有任何意义。 – Joseph

+0

这没有意义。我会进一步研究它.... –

0

IE与具有chormeframe发送第一请求给一个“不同的”现场用普通IE-用户代理报头,而随后的含“chromeframe”在它的习惯。在非Cake的网站上,我在检查useragent时遇到了与会话相同的问题。