Inhaltsverzeichnis
Siehe die aktuellste veröffentlichte Version dieses Dokuments . Das Zend-Framework-Auth-Team freut sich außerdem über jegliches Feedback und Beiträge auf der Mailing-Liste: fw-auth@lists.zend.com
Bei einer in PHP geschriebenen Web-Applikation steht eine Session für eine logische Eins-Zu-Eins-Verbindung zwischen auf dem Server beständig gehaltenen Daten und einem bestimmten Client (zum Beispiel einem Web-Browser). Zend_Session hilft beim Verwalten und Aufbewahren von Session-Daten, der logischen Ergänzung zu Cookie-Daten, über mehrere Seitenaufrufe eines Clients hinweg. Anders als die in Cookies gespeicherten Daten werden die Session-Daten nicht client-seitig gespeichert und stehen dem Client nur zur Verfügung, wenn das server-seitige Script freiwillig die Daten durch eine Antwort auf eine Anfrage des Clients verfügbar macht. Im Umfeld der Zend_Session-Komponente und in dieser Dokumentation steht der Begriff Session-Daten für server-seitige Daten, die durch Zend_Session verwaltet werden. Session Namensräume stellen einen Zugriff auf die Sessiondaten unter Verwendung klassischer Namensräume, die logisch als benannte Gruppen mit assoziativen Arrays mit Schlüsselstrings (ähnlich wie normale PHP Arrays) implementiert wurden.
Die Zend_Session
ist ein Wrapper für das bestehende PHP ext/session mit
einem Administrations- und Verwaltungsinterface sowie der Bereitstellung einer API für
Zend_Session_Namespace
, um Session Namensräume beizubehalten.
Zend_Session_Namespace
stellt
eine standardisierte, objektorientierte Schnittstelle für den Umgang mit Namensräumen, die
innerhalb des Standard Session Mechanismus von PHP bereit gehalten werden. Unterstützung
besteht sowohl für anonymen und authentifizierten Sessions. Zend_Auth, die
Authentifizierungs-Komponente des Zend Frameworks, verwendet Zend_Session_Namespace, um einige
Informationen im Zusammenhang mit authentifizieren Benutzer im "Zend_Auth" Namensraum zu
speichern. Da Zend_Session
intern die normalen ext/session Funktionen von PHP verwendet, sind
alle regulären Konfigurations-Optionen und -Einstellungen nutzbar (siehe
http://www.php.net/session
), mit dem Bonus des Komforms über ein objektorientiertes Interface and Standardwerte, um
sowohl die beste Lösung und eine reibungslose Integration in das Zend Framework
bereitzustellen. Eine Standard Session-Id, entweder in einem Client Cookie oder den URLs
gespeichert, hält also die Verbindung zwischen einem Client und bestehenden Session-Daten
aufrecht.
Der standardmäßig vorhandene ext/session save handler löst nicht das Problem, diese Verbindung in Szenarien aufrecht zu erhalten, in denen ein Client sich mit einem beliebigen Server eines Server-Clusters verbinden kann, da die bestehenden Session-Daten nur lokal auf einem Server gespeichert werden. Eine Liste zusätzlicher, geeigneter Speicher-Module wird zur Verfügung gestellt werden wenn diese verfügbar sind. Mitglieder der Community werden ermutigt, Speicher-Module in der fw-auth@lists.zend.com Liste vorzuschlagen und einzusenden. Ein Zend_Db kompatibles Speicher-Modul wurde in der Liste bereits veröffentlicht.