2010-12-21 4 views
2

Я читал через this tutorial, и в какой-то момент в коде, информация о пользователе извлекается из базы данных и сеанса создается для пользователя: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.

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

+0

Zend_Session :: RememberMe ($ секунд); – opHASnoNAME

ответ

2

Не смешивайте 2 разных задания. Одна из задач, которую вы выполняете, - это «аутентификация», другая - «запомнить меня».

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

Для запомнить меня хранить другой печенье с некоторыми случайной хэш и сохранить таблицу, assotiates каждый случайный хэш с определенной 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

+0

+1 за отличный анализ и советы. – karim79