Spis treści
Zobacz najbardziej aktualną opublikowaną wersję tego dokumentu. Ponadto zespół Zend Framework Auth bardzo docenia twój wkład w naszą listę email: fw-auth@lists.zend.com
W aplikacjach web używających PHP, a sesja
reprezentuje logiczne połączenie jeden-do-jednego pomiędzy danymi o stanie
użytkownika znajdującymi się na serwerze, a konkretną aplikacją
użytkownika (np. przeglądarka stron internetowych).
Zend_Session
pomaga w zarządzaniu i zabezpieczaniu danych
sesji, które są logicznym dopełnieniem danych w ciasteczku, pomiędzy
wieloma żądaniami do serwisu przez tego samego klienta. W
przeciwieństwie do danych z ciasteczka, dane sesji nie są przechowywane
po stronie klienta i są one dostępne dla klienta tylko wtedy, gdy kod po
stronie serwera dobrowolnie udostępni dane poprzez obiekt odpowiedzi na
żądanie klienta. Dla celów tego komponentu oraz dokumentacji, dane sesji
odnoszą się do danych przechowywanych po stronie serwera w tablicy
$_SESSION[]
, zarządzanych przez Zend_Session
,
oraz indywidualnie manipulowanych przez obiekty dostępowe
Zend_Session_Namespace
.
Przestrzenie nazw sesji zapewniają
dostęp do danych sesji używając klasycznych
przestrzeni nazw
implementowanych logicznie jako nazwane grupy asocjacyjnych tablic, o
kluczach będących łańcuchami znaków. (analogicznie jak tablice PHP).
Zend_Session_Namespace
tworzy instancje obiektów
dostępowych dla przestrzeni nazw będących wycinkami $_SESSION[]
.
Komponent Zend_Session
wraps the existing PHP ext/session
with an administration and management interface, as well as providing an
API for Zend_Session_Namespace
to persist session namespaces.
Zend_Session_Namespace
zapewnia ustandaryzowany zorientowany
obiektowo interfejs do pracy z przestrzeniami nazw istniejącymi wewnątrz
standardowego mechanizmu sesji PHP. Wspierane są zarówno przestrzenie
nazw dla anonimowych użytkowników, jak i dla zalogowanych.
Zend_Auth
, komponent autentykacji w ZF używa
Zend_Session_Namespace
do przechowywania informacji
związanych z autentykowanymi użytkownikami w przestrzeni nazw "Zend_Auth".
Z tego względu, że Zend_Session
używa normalnych
wewnętrznych funkcji modułu sesji, oraz umożliwia użycie wszystkich
znanych opcji konfiguracyjnych i ustawień (zobacz
http://www.php.net/session),
a dodatkowo umożliwia dostęp za pomocą zorientowanego obiektowo
interfejsu, to użycie tego modułu jest przykładem dobrej praktyki
programowania, a także gładko integruje się z Zend Framework.
Zatem standardowy identyfikator sesji PHP przechowywany albo w
ciasteczku klienta, albo dołączony do adresów URL, umożliwia połączenie
klienta oraz danych stanu sesji.
Domyślna obsługa zapisu sesji nie rozwiązuje problemu zarządzania tym powiązaniem, gdy klient może połączyć się z dowolnym serwerem w klastrze serwerów, ponieważ dane stanu sesji są zapisywane jedynie na danym serwerze z tego klastra. Dodatkowe odpowiednie możliwości obsługi zapisu będą zapewnione, gdy będą dostępne. Namawiamy członków społeczności aby wysyłali propozycje możliwości obsługi zapisu na listę fw-auth@lists.zend.com. Obsługa zapisu kompatybilna z Zend_Db została opisana na liście.