2010-03-09 2 views
0

В настоящее время я работаю над входом для приложения Zend Framework, и я использую комбинацию Zend_Auth и Zend_Session с использованием адаптера базы данных (как описано в руководствах Zend Framework).Заседания Zend смешиваются

Я сделал ресурс для сессии:

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-адреса), если один пользователь в нашем офисе входит в систему, а другой пользователь переходит на сайт, они регистрируются как пользователь !!! Может ли кто-нибудь помочь мне понять, почему они используют сеансы друг друга?

+0

Как вы используете Zend_Auth? –

+0

Также вы тестируете один и тот же браузер/компьютер? – Chris

+0

@Vladimir: $ auth = Zend_Auth :: getInstance(); $ authAdapter = новый Zend_Auth_Adapter_DbTable ($ db); $ authAdapter-> setTableName ('users') -> setIdentityColumn ('email') -> setCredentialColumn ($ password_col); $ authAdapter-> setIdentity ($ email); $ authAdapter-> setCredential ($ pass_hash); $ result = $ auth-> authenticate ($ authAdapter); if ($ result-> isValid() == true) { $ data = $ authAdapter-> getResultRowObject (null, 'password'); $ auth-> getStorage() -> write ($ data); – sunwukung

ответ

0

DOH !!!! Мои скромные, униженные извинения. Тип данных столбца id был установлен в INT нашим парнем миграции - и, очевидно, он должен быть VARCHAR .... smacks self in face ...

Смежные вопросы