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 gespeichert in $_SESSION[]
,
die durch Zend_Session
verwaltet und individuell von den
Zend_Session_Namespace
Zugriffsobjekten verändert 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.
Zend_Session_Namespace
erstellt eine Instanz eines Zugriffsobjektes für
Namensräume aus $_SESSION[]
. 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.