Inhaltsverzeichnis
Hier kann die zuletzt veröffentlichte Version dieses Dokuments gefunden werden. Das Zend Framework Auth Team begrüsst Feedback und Beiträge in der Mailing Liste: fw-auth@lists.zend.com
In Web Anwendungen die mit PHP geschrieben sind, repräsentiert eine Session
eine logische Eins-zu-Eins Verbindung zwischen fixen Daten auf dem Server und einem bestimmten
Benutzer Client (z.B. einem Web Browser). Zend_Session
hilft beim Verwalten und Aufbewahren
von Session Daten, einer logischen Verbindung von Cookie Daten über mehrere Seitenaufrufe hinweg durch
den gleichen Client. Anders als Cookie Daten, werden Session Daten nicht beim Client gespeichert und stehen
diesem nur dann zur Verfügung wenn der Server-seitige Sourcecode diese Daten freiwillig zur Verfügung stellt
und diese vom Client angefragt werden. Innerhalb dieser Komponente und der Dokumentation bezeichnen
Session Daten die Server-seitigen Daten welche in $_SESSION[]
gespeicher, durch
Zend_Session
verwaltet und durch Zend_Session_Namespace
Zugriffsobjekte
individuell verändert werden. Session Namensräume gestatten den Zugriff auf
Session Daten durch Verwendung klassischer
Namensräume welche
durch logische, namentlich gruppierte, assoziative Arrays, dessen Schlüssel mit Zeichenketten benannt sind
(ähnlich wie bei normalen PHP Arrays), implementiert sind.
Zend_Session_Namespace
erzeugt Instanzen von Zugriffsobjekten für benannte Abschnitte von
$_SESSION[]
. Die Zend_Session
Komponente wrappt die bestehende PHP Erweiterung
ext/session mit einem Administrations und Management Interface sowie einer API für
Zend_Session_Namespace
um Session Namensräume zu erlauben. Zend_Session_Namespace
bietet ein standardisiertes, objekt-orientiertes Interface für das Arbeiten mit Namensräumen welche
innerhalb von PHP's Standard Session Mechanismum bereitgehalten werden. Es werden sowohl anonyme als auch
"login" Session Namensräume unterstützt. Zend_Auth
, die Authentifizierungs-Komponente des
ZF verwendet Zend_Session_Namespace
um einige Informationen, welche mit den authentifizierten
Benutzern verbunden sind, innerhalb des "Zend_Auth" Namensraums zu speichern. Da Zend_Session
intern die normalen PHP ext/session Funktionen verwendet, sind alle bekannten Konfigurationsoptionen und
Einstellungen vorhanden (siehe http://www.php.net/session),
mit dem Bonus und Komfort durch ein Objekt-orientiertes Interface und unterstützt standardmäßig beides,
sowohl die beste Lösung als auch eine reibungslose Integration innerhalb des Zend Frameworks. Deshalb hält
eine standardmäßige PHP Session ID, welche entweder in einem Client-Cookie gespeichert oder in einer URL
integriert ist, die Verbindung zwischen Client und bestehenden Sessiondaten aufrecht.
Das standardmäßige ext/session Speichermodul löst das Problem des Verwaltens dieser Verbindung nicht, wenn sich ein Client zu einem beliebigen Server aus einem Cluster von Servern verbinden kann, da Sessiondaten nur im lokalen Server gespeichert werden. Eine Liste von zusätzlichen, geeigneten Speichermodule wird, sobald Sie vorhanden ist, zur Verfügung gestellt. Mitglieder der Community werden ermutigt Speichermodule vorzuschlagen und an die fw-auth@lists.zend.com Mailing-Liste zu senden. Ein Zend_Db kompatibles Speichermodul wurde schon in der Liste veröffentlicht.