避免与cakephp中的两个不同域匹配会话?

时间:2013-08-27 14:30:09

标签: php session cakephp authentication acl

我有两个不同的域都是在cakephp中开发的,我的问题是,当我登录到域中的任何一个时,它工作正常,当我在新选项卡中打开另一个域时,它将采用相同的会话数据。假设,如果我注销了任何人,则两者都会注销。所以我需要单独的会议。一个项目有ACL组件,另一个项目没有。

我尝试过不同的security.salt值,它不起作用。请告诉我维持不同会话的最佳方法是什么。 在此先感谢。

1 个答案:

答案 0 :(得分:3)

在您的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