1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.session.introduction">
<title>Einführung</title>
<para>
Das Zend Framework Auth Team begrüsst Feedback und Beiträge in der Mailing Liste:
<ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
</para>
<para>
In Web Anwendungen die mit <acronym>PHP</acronym> geschrieben sind, repräsentiert eine
<emphasis>Session</emphasis> eine logische Eins-zu-Eins Verbindung zwischen fixen Daten auf
dem Server und einem bestimmten Benutzer Client (z.B., einem Web Browser).
<classname>Zend_Session</classname> 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 <ulink
url="http://www.php.net/manual/de/reserved.variables.php#reserved.variables.session"><varname>$_SESSION</varname></ulink>
gespeichert, durch <classname>Zend_Session</classname> verwaltet und durch
<classname>Zend_Session_Namespace</classname> Zugriffsobjekte individuell verändert werden.
<emphasis>Session Namensräume</emphasis> gestatten den Zugriff auf Session Daten
durch Verwendung klassischer <ulink
url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">Namensräume</ulink>
welche durch logische, namentlich gruppierte, assoziative Arrays, dessen Schlüssel mit
Zeichenketten benannt sind (ähnlich wie bei normalen <acronym>PHP</acronym> Arrays),
implementiert sind.
</para>
<para>
<classname>Zend_Session_Namespace</classname> Instanzen sind Zugriffsobjekte für benannte
Abschnitte von <varname>$_SESSION</varname>. Die <classname>Zend_Session</classname>
Komponente wrappt die bestehende <acronym>PHP</acronym> Erweiterung ext/session mit einem
Administrations und Management Interface sowie einer <acronym>API</acronym> für
<classname>Zend_Session_Namespace</classname> um Session Namensräume zu erlauben.
<classname>Zend_Session_Namespace</classname> bietet ein standardisiertes,
objektorientiertes Interface für das Arbeiten mit Namensräumen welche innerhalb von
<acronym>PHP</acronym>'s Standard Session Mechanismum bereitgehalten werden. Es werden
sowohl anonyme als auch authentifizierte (z.B., "login") Session Namensräume unterstützt.
<classname>Zend_Auth</classname>, die Authentifizierungs-Komponente des Zend Framework
verwendet <classname>Zend_Session_Namespace</classname> um einige Informationen, welche mit
den authentifizierten Benutzern verbunden sind, innerhalb des "Zend_Auth" Namensraums zu
speichern. Da <classname>Zend_Session</classname> intern die normalen <acronym>PHP</acronym>
ext/session Funktionen verwendet, sind alle bekannten Konfigurationsoptionen und
Einstellungen vorhanden (siehe <ulink
url="http://www.php.net/session">http://www.php.net/session</ulink>), 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 <acronym>PHP</acronym> Session Identifizierer, welche
entweder in einem Client-Cookie gespeichert oder in einer <acronym>URL</acronym> integriert
ist, die Verbindung zwischen Client und bestehenden Sessiondaten aufrecht.
</para>
<para>
Das standardmäßige
<ulink url="http://www.php.net/manual/de/function.session-set-save-handler.php">ext/session
Speichermodul</ulink> 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
<ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink> Mailing-Liste zu
senden. Ein <classname>Zend_Db</classname> kompatibles Speichermodul wurde schon in der
Liste veröffentlicht.
</para>
</sect1>
|