如何更改 Cakephp 中的 Session cookie 值

How to change the Session cookie value in Cakephp

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

我观察到 cookie 的值相同(登录前和登录后)。如果我想在登录后更改 cookie 值,我必须遵循哪些步骤。 我的代码在 core.php 文件

Configure::write('Session', array(

    'defaults' => 'php',

    'cookie' => 'my_cookie',

    'timeout' => 4000 

));

请帮助我解决这个问题以获得更多说明。

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

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

$this->Session->renew();

或直接使用 CakeSession class

App::uses('CakeSession', 'Model/Datasource');
CakeSession::renew();