如何在Cakephp中更改会话cookie值

如何在Cakephp中更改会话cookie值,php,session,cakephp,cakephp-2.0,session-cookies,Php,Session,Cakephp,Cakephp 2.0,Session Cookies,在我的Cakephp应用程序中,我有一个名为“my_cookie”的会话cookie,它包含一些随机值“QSD5111AS552DNJK” 我注意到cookie的值是相同的(登录前和登录后也是一样)。如果我想在登录后更改cookie值,我必须遵循哪些步骤。 以及core.php文件中的代码 Configure::write('Session', array( 'defaults' => 'php', 'cookie' => 'my_cookie', 't

在我的Cakephp应用程序中,我有一个名为“my_cookie”的会话cookie,它包含一些随机值“QSD5111AS552DNJK”

我注意到cookie的值是相同的(登录前和登录后也是一样)。如果我想在登录后更改cookie值,我必须遵循哪些步骤。 以及core.php文件中的代码

Configure::write('Session', array(

    'defaults' => 'php',

    'cookie' => 'my_cookie',

    'timeout' => 4000 

));

请在这个问题上帮助我获得更多的澄清。

我想你想做的是防止会话固定,在这种情况下,应该注意的是CakePHP已经为你做了开箱即用的事情。使用时,在将经过身份验证的用户数据写入会话之前,以及在注销时删除用户数据之后,会话将被续订

为了完整性起见,您始终可以手动续订会话,如果您在控制器中,可以通过会话组件

$this->Session->renew();
或者直接使用
CakeSession

App::uses('CakeSession', 'Model/Datasource');
CakeSession::renew();
当您希望在每次请求后重置会话超时时,此
续订()
特别有用-只需将其添加到
beforeFilter()
中,否则默认行为是在
会话.timeout
中定义的身份验证后设置超时后使会话过期。两者都有各自的优势,这取决于您的业务需求。