您现在位置:主页 > Cakephp > cakephp2.x--Session获取不到

cakephp2.x--Session获取不到

<p>使用cakephp时碰到的一个Session问题,当前端频发的发送http请求时,Session竟然会丢失,导致页面要频繁的登录(这边是用Session来做的身份验证)</p>

<h3>1:使用场景</h3>

<pre><code>每一次http请求都会进行一次身份验证,验证不通过->登录,当前端多次发送ajax请求,Session竟然有时会获取不到,刷新后又恢复正常

</code></pre>

<h3>2:在文档中发现</h3>

<pre><code>当应用程序使用 SSL协议时,CakePHP 默认设置 session.cookie_secure 为 true。如 果应用程序同时使用 SSL 和非 SSL 协议,你也许会有会话丢失的问题。

</code></pre>

<h3>3:解决</h3>

<pre><code>在app>Config>core.php中添加代码(不能和原有代码合并写,新增下面代码)

Configure::write('Session', array(

'defaults' => 'php',

'ini' => array(

        'session.cookie_secure' => false

    )

));

或者把默认的Session中 autoRegenerate注释掉

Configure::write('Session', array(

'defaults' => 'php',

'timeout'=>1440,          // 过期时间 24小时

'cookieTimeout'=>1440,    // 过期时间 24小时

//'autoRegenerate'=>true // 重新生成会话

));

</code></pre>


0
评论
发表评论