TigerZF
🌐Español

Capítulo 9. Primeros pasos con Zend_Session, Zend_Auth y Zend_Acl

9.1. Construyendo aplicaciones multiusuario con Zend Framework

9.1.1. Zend Framework

Cuando se creó la "web" original, se diseñó para ser una plataforma de publicación de contenido predominantemente estático. A medida que crecía la demanda de contenido en la web, así como el número de consumidores de contenido web en internet, también creció la demanda de usar la web como plataforma de aplicaciones. Dado que la web es intrínsecamente buena entregando una experiencia simultánea a muchos consumidores desde una única ubicación, esto la convierte en un entorno ideal para construir sistemas dinámicos, multiusuario, y, más comúnmente hoy en día, sociales.

HTTP es el protocolo de la web: un protocolo de petición y respuesta sin estado, típicamente de corta duración. Este protocolo se diseñó así porque la intención original de la web era servir o publicar contenido estático. Es este mismo diseño el que ha hecho a la web tan inmensamente exitosa como es. También es exactamente este diseño el que plantea nuevas preocupaciones a los desarrolladores que desean usar la web como plataforma de aplicaciones.

Estas preocupaciones y responsabilidades pueden resumirse eficazmente en tres preguntas:

  • ¿Cómo distingue a un consumidor de la aplicación de otro?

  • ¿Cómo identifica a un consumidor como auténtico?

  • ¿Cómo controla a qué tiene acceso un consumidor?

[Note] Consumidor frente a usuario

Observe que usamos el término "consumidor" en lugar de persona. Cada vez más, las aplicaciones web se orientan a servicios. Esto significa que no solo hay personas reales ("usuarios") con navegadores web reales consumiendo y usando su aplicación, sino también otras aplicaciones web a través de tecnologías de servicios automáticos como REST, SOAP, y XML-RPC. En este sentido, las personas, así como otras aplicaciones consumidoras, deben tratarse todas por igual con respecto a las preocupaciones descritas anteriormente.

En los siguientes capítulos, examinaremos en detalle estos problemas comunes relacionados con la autenticación y la autorización. Descubriremos cómo 3 componentes principales: Zend_Session, Zend_Auth, y Zend_Acl; proporcionan una solución lista para usar, así como los puntos de extensión que cada uno tiene para adaptarse a una solución más personalizada.