Autenticazione e accesso
L'autenticazione è il processo di identificazione di un utente nella nostra applicazione, solitamente attraverso l'inserimento di una coppia di token (user/password). Il controllo degli accessi è invece quel processo attraverso cui si controlla ciò che un utente autenticato può o non può fare nell'applicazione, come ad esempio cancellare record o accedere a risorse riservate.
Zend_Auth e Zend_Acl sono i componenti che ZF mette a disposizione per la gestione rispettivamente del processo di autenticazione e di controllo degli accessi.
Zend_Auth rispecchia la grande flessibilità di Zend Framework: visto il numero importante di sistemi diversi esistenti per autenticare un utente, questo componente è stato progettato per permette al programmatore di implementare il sistema più adeguato alle sue necessità se nessuna delle soluzioni proposte risulta adatta.
Zend_Acl segue l'approccio RBAC (Role-Based Access Control) per l'implementazione del controllo degli accessi. RBAC è un sistema generico di controllo basato su associazioni ruolo - risorsa: un ruolo rappresenta qualsiasi cosa che intende accedere al sistema mentre una risorsa è qualsiasi informazione disponibile. Per una applicazione web normalmente un ruolo è un gruppo di utenti mentre una risorsa può essere una pagina .html, una pagina .php, un'immagine, un record del database, ecc.
Internationalization
Zend Framework supporta diversi livelli di internazionalizzazione, permettendo di avere un controllo pressocché totale sulle impostazione della localizzazione, sui set di caratteri e ovviamente sul multilingua.
Zend_Locale, Zend_Measure e Zend_Currency sono i componenti principali responsabili della corretta corrispondenza tra la lingua impostata e gli idiomi utilizzati, mentre Zend_Translate si occupa del processo di traduzione testuale delle lingue disponibili nella nostra applicazione: rispetto alle funzioni native di PHP, Zend_Translate semplifica e velocizza il processo di traduzione, anche grazie alla perfetta integrazione con altri componenti come ad esempio Zend_View e Zend_Form.