我有两个不同的域都是在 cakephp 中开发的,我的问题是,当我登录到任何域时,它工作正常,当我在新选项卡中打开另一个域时,它将采用相同的会话数据。假设,如果我注销了任何人,那么两者都是注销。所以我需要单独的会话。一个项目有 ACL 组件,另一个没有。
我尝试了不同的 security.salt 值,但它不起作用。请建议我维护不同会话的最佳方法是什么。提前致谢。
我有两个不同的域都是在 cakephp 中开发的,我的问题是,当我登录到任何域时,它工作正常,当我在新选项卡中打开另一个域时,它将采用相同的会话数据。假设,如果我注销了任何人,那么两者都是注销。所以我需要单独的会话。一个项目有 ACL 组件,另一个没有。
我尝试了不同的 security.salt 值,但它不起作用。请建议我维护不同会话的最佳方法是什么。提前致谢。
在您的 core.php 中,您可以将会话配置设置为 CakePHP 的默认配置之一,然后它将您的会话存储在相应应用程序的 tmp 目录中。
Configure::write('Session', array(
'defaults' => 'cake', // instead of 'php'
'cookie' => 'app_cookie1', // select a different one for each app
[...]
));
此外,您应该为每个应用程序选择不同的 cookie 名称,这样它们就不会在注销时都取消设置。
这应该可以解决冲突。如果您对一些更高级的设置感兴趣,请看这里:http ://book.cakephp.org/2.0/en/development/sessions.html