Zend_Auth использует Zend_Session вместо хранилища по умолчанию?

Я читал это руководство, и в одном месте кода информация о пользователе извлекается из базы данных, и для пользователя создается сеанс:

// the default storage is a session with namespace Zend_Auth  
$authStorage = $auth->getStorage();  
$authStorage->write($userInfo);

Я пробовал это, но этот сеанс истекает после закрытия браузера. Итак, мой вопрос: как мне объединить это с Zend_Session, чтобы создать файл cookie, который длится 20 дней или что-то в этом роде? Я не могу понять это через документацию Zend_Session.

Любая помощь приветствуется! Спасибо


person Community    schedule 21.12.2010    source источник
comment
Zend_Session::rememberMe($seconds);   -  person opHASnoNAME    schedule 21.12.2010


Ответы (1)


Не смешивайте 2 разные задачи. У вас одна задача — «аутентификация», другая — «запомнить меня».

Так что не пытайтесь решить их одним выстрелом.

Помните, что я храню еще один файл cookie с некоторым случайным хэшем и храню таблицу, которая связывает каждый случайный хэш с конкретным user_id.

Кроме того, здесь, в SO, много дискуссий о реализации «запомнить меня»: http://www.google.ru/search?q=site%3Astackoverflow.com+remember+me&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox

person zerkms    schedule 21.12.2010