我目前正在努力通过基于数据库的会话来保持身份验证。我已将 Zend_Session 设置为使用数据库,并且经过检查,Zend 正在将值写入数据库。但是,这些会话的 ID 似乎与 PHPSESSID 不匹配——但是当我让 Zend_Session 返回 ID 时——它返回一个匹配的值。
所以 - 在我的数据库中,我有:
ID.....MODIFIED.......LIFETIME...DATA
344..1265640083.......1440.......BLAH
然而,如果我从 Zend Session 本身调用 id ......
$id = Zend_Session::getId();
echo $id; // mbgspg2gvf1c3r9l7qpv6orgt4
我假设 Zend Session 生成的 ID 必须与 PHPSESSID 匹配,对吗?
这是我的引导程序
$dbAdapter = $resource->getAdapter();//connection is tested and working
Zend_Registry::set("db", $dbAdapter);
$config = array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime',
'db' => $dbAdapter
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::start();
如果有人能对此有所了解,我将永远感激不尽...