Введение
См.
самую последнюю опубликованную версию этого документа.
Приветствуются отзывы и предложения в списке рассылки fw-auth@lists.zend.com.
Для веб-приложений, написанных с использованием PHP,
сессия (session) представляет собой
логическую связь один-к-одному между постоянными данными на стороне
сервера и определенным агентом пользователя (т.е. веб-броузером).
Zend_Session помогает сохранять и управлять данными сессий, являющимися
логическоим дополнением к данным в куках (cookie), между запросами
одного и того же клиента. В отличие от данных, сохраняемых в куках,
данные сессий не хранятся на клиентской стороне, они становятся
доступными клиенту только если код серверной стороны добровольно
предоставляет эти данные в ответ на запрос клиента.
Пространства имен сессий предоставляют
доступ к данным сессий с использованиием классических
пространств имен,
логически реализованным как именованные группы ассоциативных массивов.
Компонента Zend_Session является "оберткой" к
расширению ext/session c интерфейсом для администрирования и управления,
а также предоставляет API для Zend_Session_Namespace.
Zend_Session_Namespace предоставляет стандартизированный,
объектно-ориентированный интерфейс для работы с пространствами имен,
сохраняемыми через стандартный механизм сессий PHP. Поддерживаются как
анонимные, так и "авторизованные" пространства имен сессий.
Zend_Auth, компонента ZF для аутентификации, использует
Zend_Session_Namespace для хранения информации, связанной с
аутентифицироанными пользователями, в пространстве имен "Zend_Auth".
Поскольку внутри себя Zend_Session использует обычные
PHP-функции, предназначенные для работы со сессиями, то используются
соответствующие опции конфигурации PHP (см.
http://www.php.net/session).
Стандартный идентификатор сессии, сохраненный в куках или встроенный
в URL, поддерживает ассоциацию между клиентом и постоянными данными
сессии.
Используемый по умолчанию
механизм хранения данных сессий
не решает проблему поддержки ассоциации, если клиент может соединяться с
любым сервером в кластере серверов, поскольку постоянные данные сессии
сохраняются только на локальном сервере. Список дополнительных
подходящих механизмов хранения будет предоставлен позднее. Члены
сообщества приветствуют внесение предложений по механизмам
хранения в списке рассылки
fw-auth@lists.zend.com.
Совместимый с Zend_Db механизм хранения уже был предложен в этом списке
рассылки.