| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="learning.multiuser.intro">
- <title>Building Multi-User Applications With Zend Framework</title>
- <sect2 id="learning.multiuser.intro.zf">
- <title>Zend Framework</title>
- <para>
- When the original "web" was created, it was designed to be a publishing platform
- for predominantly static content. As demand for content on the web grew, as did
- the number of consumers on the internet for web content, the demand for using the
- web as an application platform also grew. Since the web is inherently good at
- delivering a simultaneous experience to many consumers from a single location,
- it makes it an ideal environment for building dynamically driven, multi-user,
- and more commonly today, social systems.
- </para>
- <para>
- <acronym>HTTP</acronym> is the protocol of the web: a stateless, typically short
- lived, request and response protocol. This protocol was designed this way because
- the original intent of the web was to serve or publish static content. It is this
- very design that has made the web as immensely successful as it is. It is also
- exactly this design that brings new concerns to developers who wish to use the
- web as an application platform.
- </para>
- <para>
- These concerns and responsibilities can effectively be summed up by three questions:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- How do you distinguish one application consumer from another?
- </para>
- </listitem>
- <listitem>
- <para>
- How do you identify a consumer as authentic?
- </para>
- </listitem>
- <listitem>
- <para>
- How do you control what a consumer has access to?
- </para>
- </listitem>
- </itemizedlist>
- <note>
- <title>Consumer Vs. User</title>
- <para>
- Notice we use the term "consumer" instead of person. Increasingly, web applications
- are becoming service driven. This means that not only are real people ("users") with
- real web browsers consuming and using your application, but also other web
- applications through machine service technologies such as <acronym>REST</acronym>,
- <acronym>SOAP</acronym>, and <acronym>XML-RPC</acronym>. In this respect,
- people, as well as other consuming applications, should all be treated in same with
- regard to the concerns outlined above.
- </para>
- </note>
- <para>
- In the following chapters, we'll take a look at these common problems relating to
- authentication and authorization in detail. We will discover how 3 main components:
- <classname>Zend_Session</classname>, <classname>Zend_Auth</classname>, and
- <classname>Zend_Acl</classname>; provide an out-of-the-box solution as well as the
- extension points each have that will cater to a more customized solution.
- </para>
- </sect2>
- </sect1>
|