Задать вопрос

Изменение данных в хранилище Zend_Auth?

Стандартная ситуация. Прошли аутентификацию с помощью Zend_Auth

...<br>
        $authAdapter->setIdentity($login);<br>
        $authAdapter->setCredential($password);<br><br>
        $auth   = Zend_Auth::getInstance();<br>
        $result = $auth->authenticate($authAdapter);<br><br>
        if ($result->isValid()) {<br>
	$data = $authAdapter->getResultRowObject(null, 'password');<br>
	$auth->getStorage()->write($data);<br>
         }<br>
...<br>




Теперь пользователь зашел куда-нибудь типа «Редактирование профиля», поменял информацию, но внутри синглтона Zend_Auth данные стались старые.



Что делать в таком случаем? Как с этим бороться? В гугле толковой информации не нашел
  • Вопрос задан
  • 2942 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Maksimus2000
@Maksimus2000
Программист
Написать свой Zend_Auth_Adapter_** и Zend_Auth_Storage_**
Ответ написан
Комментировать
pav
@pav
Можно после изменения данных просто обновить данные экземпляра адаптера авторизации методами setIdentity и setCredential.
Ответ написан
Комментировать
bladeofsteel
@bladeofsteel
А что мешает сделать:
$data = $auth->getStorage()->read(); // или так Zend_Auth::getInstance()->getStorage()->read();
$data->field = $user->firld;
$auth->getStorage()->write($data);

?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы