Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session cakephp具有相同的蛋糕库和共享会话的多个应用程序_Session_Cakephp_Authentication - Fatal编程技术网

Session cakephp具有相同的蛋糕库和共享会话的多个应用程序

Session cakephp具有相同的蛋糕库和共享会话的多个应用程序,session,cakephp,authentication,Session,Cakephp,Authentication,我让cakephp作为我们公司的公共网站运行应用程序,老板让我创建另一个应用程序,让他们使用相同的用户帐户和权限管理办公室活动 在本地开发PC上,该项目位于D:/wamp/www/blackstone 我刚刚复制了D:/wamp/www/blackstone/app,并将其粘贴在同一位置,命名为office 应用程序文件夹路径为: D:/wamp/www/blackstone/app D:/wamp/www/blackstone/office 我已在“office”appController中

我让cakephp作为我们公司的公共网站运行应用程序,老板让我创建另一个应用程序,让他们使用相同的用户帐户和权限管理办公室活动

在本地开发PC上,该项目位于
D:/wamp/www/blackstone

我刚刚复制了
D:/wamp/www/blackstone/app
,并将其粘贴在同一位置,命名为
office

应用程序文件夹路径为:

D:/wamp/www/blackstone/app
D:/wamp/www/blackstone/office
我已在“office”appController中提交“IsAutoized”、“Auth”和“Session”组件,以防止检查登录。正在使用以下URL访问应用程序:

localhost/blackstone
localhost/blackstone/office
我想在
office
中访问
blackstone
的“会话”。我还没有找到解决办法

目前我在黑石
blackstone
中有
core.php
作为:

Configure::write('Session', array(
        'defaults' => 'cake',
        'cookie' => 'my_app',
        'timeout'  => 500,  // 8 hours + 20 min, 
        'cookie_path' => '/',
        )
    );
office
应用程序中的
core.php

Configure::write('Session',数组(
“默认值”=>“蛋糕”,
“cookie”=>“我的应用程序”,
“超时”=>500,//8小时+20分钟,
“cookie_路径”=>“../”,
)
);
这导致了更多的变化


我可以尝试和更改什么?

在调试类似的东西时,最好尝试设置最简单、最愚蠢、最不容易出错的参数,以确保您可以首先让它正常工作,然后慢慢增加生产中使用的复杂度(例如,更安全),以准确地看到可能出现故障的地方

首先,确保在core.php中确保在两个应用程序中都设置Security.level=“low”。否则,应用程序会进行会话参考者检查(如果“中等”),甚至重新生成会话id(如果“高”),这肯定会阻止共享

我看到的两个复杂点是“默认值”=>“蛋糕”和相应的“cookie\u路径”值,将此设置为“cake”会将服务器会话cookie放置在与该应用程序相关的目录中

您应该注释掉cookie_路径行,然后设置“defaults”=>“php”。这样您就知道,至少PHP会将会话cookie放在开发机器上的一个固定目录中

如果必须切换回“cake”,请确保“cookie\u path”参数实际上正在将服务器cookie文件写入单个共享目录中。在浏览器中访问两个应用程序时,请实际查看写入预期目录的文件。如果这两个应用正在将会话cookie写入不同的目录,那么您必须修复cookie_路径参数以匹配,因为这些应用显然没有共享。此外,根据您的CakePHP版本,您可能需要按照以下方式编写此参数,而不是按照您的方式编写此参数,以使其生效:“ini”=>array('session.cookie\u path'=>“/app/dir”)


最后,再次检查站点域“cookie路径”和其他每个会话cookie参数是否完全相同。(您可以在Chrome web inspector中检查客户端蛋糕会话cookies。)如果有任何不匹配,则应用程序将无法共享。

检查此链接。也许对你有帮助。这是有道理的,但我在我的第二个应用程序中使用cakephp方法进行访问会话,因为我必须在每个控制器和视图中进行所有更改,这看起来很耗时。绝对地,我也在做同样的事情,我的网站目前正在运行,但其他一些东西因此而中断,我正在调试东西,使用默认php路径将会话超时增加到8小时当前不起作用。