Zend Framework
Diferenças entre Zend_Auth e Zend_ACL
É muito comum gerarrmos confusões em relação a Zend_Auth e a Zend_ACL, e então me perguntam: Qual é a diferença entre as duas Classes? Todas!
A Zend_ACL complementa a Zend_Auth, sendo que o objetivo da Zend_Auth é fazer somente a autenticação, ou seja, if($login==”x” and $senha==”y”) { echo “ta logado”; }. Já a Zend_ACL (Access Control List) tem o objetivo de mapear quais recursos de quais áreas de sua aplicação o usuário terá acesso.
O processo funciona da seguinte forma:
- Utilizamos a Zend_Auth para fazer a autenticação
- Pegamos o login do usuário autenticado (Zend_Auth::getInstance ()->getIdentity ()->login)
- Passamos o Login para a Zend_ACL
- Zend_ACL mapeia quais recursos de quais áreas de sua aplicação poderão ser acessadas
Vamos dizer que a Zend_ACL (nossa opinião) é mais complexa do que a Zend_Auth, pois há diversas formas de fazer a mesma coisa, contudo recomendamos, extremamente, a utilizar tal recurso, criando uma classe extendida e adequando a mesma ao seu projeto.
Em nosso próximo post, sobre Zend Framework, traremos um exemplo prático da utilização da Zend_ACL, sendo que as permissões e controles estarão armazenadas em um banco de dados.