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 bezeichnt der Term "Session Daten" die Server-seitigen
Daten welche in $_SESSION
gespeichert, 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
Instanzen sind Zugriffsobjekte 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,
objektorientiertes Interface für das Arbeiten mit Namensräumen welche innerhalb von
PHP's Standard Session Mechanismum bereitgehalten werden. Es werden
sowohl anonyme als auch authentifizierte (z.B., "login") Session Namensräume unterstützt.
Zend_Auth
, die Authentifizierungs-Komponente des Zend Framework
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 Identifizierer, 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 unter bestimmten
Bedingungen nicht, weil Session Daten am Dateisystem des Servers gespeichert werden der auf
die Anfrage antwortet. Wenn eine Anfrage von einem anderen Server beantwortet wird and dem
wo die Session Daten vorhanden sind, hat der antwortende Server keinen Zugriff auf die
Session Daten (wenn diese nicht durch ein Netzwerk Dateisystem verfügbar sind). 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.