2012-04-03 35 views
0

我有一个使用jquery uploadify上传文件的插件。从这个插件调用一个方法后,会话就会丢失。我不再登录。CakePHP:从插件调用动作后会话丢失

有没有办法让这个插件的所有页面都公开?什么会导致这种行为?

谢谢。

回答

2

您需要保留会话,并将您的会话ID与uploadify POST数据一起传递。

一旦超过发送的,使用重新发起会话:

$this->Session->id($this->data['Model']['phpsessid']); 
$this->Session->start(); 

在你beforeFilter();

这将导致您的会话选择备份。它打破的原因是因为Flash是一个完全不同的用户代理。

+0

我做了什么,我创建了一个名为'SessionRescue'的组件,它在app_controller.php中加载。使用那里的设置/初始化功能初始化会话。这是做这件事的一种奇特的方式,因为组件将在你的应用程序beforeFilter之前得到处理。 – 2012-04-03 12:02:50