У меня есть код:
$authAdapter = $this->getAuthAdapter();
$authAdapter->setIdentity($username)
->setCredential($password);
$auth = Zend_Auth::getInstance();
где getAuthAdapter () выглядит следующим образом:
protected function getAuthAdapter() {
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('credentials')
->setIdentityColumn('employee_id')
->setCredentialColumn('password');
return $authAdapter;
}
$userInfo = $authAdapter->getResultRowObject(null, 'password');
# the default storage is a session with namespace Zend_Auth
$authStorage = $auth->getStorage();
$authStorage->write($userInfo);
Здесь я использовал таблицу с именем credentials. Но я хочу сохранить переменную в auth_storage, которая не является атрибутом учетных данных таблицы. Так что я могу использовать эту переменную позже из этого хранилища, как указано ниже. Так, как это должно быть сделано ??
$userInfo = Zend_Auth::getInstance()->getStorage()->read();
Я могу сделать с помощью следующего кода:
Если я хочу добавить переменную с именем $ var, тогда
$var = new stdClass;
$userInfo->var = 'Variable';
Но я не думаю, что это хорошая идея. Любое другое решение? Пожалуйста, ответьте быстро, как это срочно требуется. Спасибо заранее.