我目前正在为一个Zend Framework应用程序进行登录,我使用的是使用数据库适配器的Zend_Auth和Zend_Session的组合(如Zend Framework手册中所述)。
我已经为会话创建了一个资源:
class DC_Resource_DbSession extends Zend_Application_Resource_ResourceAbstract{
public function init(){
}
public function setadapter($value){
$this->dbAdapter = $value;
}
public function setSession($adapter){
//put your code here
$config = array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime',
'db' => $adapter
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::setOptions(array('name'=>'MY_SESSION_NAME'));
Zend_Session::start();
}
}然后,Zend Auth使用会话存储一些基本的身份验证信息。
但是,在测试登录(来自同一IP)时,如果我们办公室的一个用户登录,而另一个用户访问该站点,他们将以该用户的身份登录!谁能帮我弄清楚他们为什么要使用对方的会话?
发布于 2010-03-10 17:33:45
哇!我卑微的,羞辱的道歉。我们的迁移人员已经将id列数据类型设置为INT -显然,它需要是VARCHAR...打自己的脸。
https://stackoverflow.com/questions/2410862
复制相似问题