michi       2003/08/14 16:16:52

  Added:       site/lenya/docs/concepts/accesscontrol
                        accesscontrollerresolvers.html
                        accesscontrollers.html accreditablemanagers.html
                        authenticators.html authorizers.html
                        policymanagers.html
  Log:
  Access Controller added
  
  Revision  Changes    Path
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/accesscontrollerresolvers.html
  
  Index: accesscontrollerresolvers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Access Controller Resolvers</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollers.html">Access&nbsp;Controllers</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Access Controller Resolvers</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#Defining+the+Roles+in+lenya.roles">Defining the Roles in 
lenya.roles</a>
  </div>
  <div class="menupageitem">
  <a 
href="#Declaring+the+Access+Controller+Resolvers+in+cocoon.xconf">Declaring the 
Access Controller Resolvers in cocoon.xconf</a>
  </div>
  <div class="menupageitem">
  <a href="#Publication+Access+Controller+Resolver">Publication Access 
Controller Resolver</a>
  </div>
  <div class="menupageitem">
  <a href="#Configurable+Access+Controller+Resolver">Configurable Access 
Controller Resolver</a>
  </div>
  <div class="menupageitem">
  <a href="#Composable+Access+Controller+Resolver">Composable Access Controller 
Resolver</a>
  </div>
  </div>
  </div>
  <div class="menuitem">
  <a href="authenticators.html">Authenticators</a>
  </div>
  <div class="menuitem">
  <a href="authorizers.html">Authorizers</a>
  </div>
  <div class="menuitem">
  <a href="policymanagers.html">Policy&nbsp;Managers</a>
  </div>
  <div class="menuitem">
  <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Access Controller Resolvers</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="accesscontrollerresolvers.pdf"><img alt="PDF" 
src="../../../skin/images/pdfdoc.gif" border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
  
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>An AccessControllerResolver resolves the appropriate AccessController for 
a URL.</p>
  </div>
  
  
  <a name="N101D3"></a><a name="Defining+the+Roles+in+lenya.roles"></a>
  <h3>Defining the Roles in lenya.roles</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>To obtain an AccessControllerResolver, the 
AccessControllerResolverSelector is
                used. A component which wants to obtain an AccessController 
asks the
                selector for the <span class="codefrag">composable</span> 
AccessControllerResolver.
                The <span class="codefrag">composable</span> 
AccessControllerResolver itself uses the
                selector to obtain its child AccessControllerResolvers.
                </p>
  <pre class="code">&lt;role 
name="org.apache.lenya.cms.ac2.AccessControllerResolverSelector"
      shorthand="access-controller-resolvers"
      
default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"&gt;
    &lt;hint shorthand="configurable"
        
class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"/&gt;
    &lt;hint shorthand="publication"
        
class="org.apache.lenya.cms.ac2.PublicationAccessControllerResolver"/&gt;
    &lt;hint shorthand="composable"
        class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"/&gt;
  &lt;/role&gt;</pre>
  </div>
  
  
  <a name="N101E8"></a><a 
name="Declaring+the+Access+Controller+Resolvers+in+cocoon.xconf"></a>
  <h3>Declaring the Access Controller Resolvers in cocoon.xconf</h3>
  <div style="margin-left: 0 ; border: 2px">
  <pre class="code">&lt;access-controller-resolvers&gt;
    &lt;component-instance 
logger="lenya.ac.accesscontrollerresolver.publication"
      class="org.apache.lenya.cms.ac2.PublicationAccessControllerResolver"
      name="publication"&gt;
    &lt;/component-instance&gt;
    &lt;component-instance logger="lenya.ac.accesscontrollerresolver.global"
      class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"
      name="global"&gt;
      &lt;access-controller type="global"/&gt;
    &lt;/component-instance&gt;
    &lt;component-instance logger="lenya.ac.accesscontrollerresolver.composable"
      class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"
      name="composable"&gt;
      &lt;resolver type="publication"/&gt;
      &lt;resolver type="global"/&gt;
    &lt;/component-instance&gt;
  &lt;/access-controller-resolvers&gt;</pre>
  </div>
  
  
  <a name="N101F4"></a><a name="Publication+Access+Controller+Resolver"></a>
  <h3>Publication Access Controller Resolver</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The PublicationAccessControllerResolver looks for a <span 
class="codefrag">config/ac.xconf</span>
                file inside the publication. If you want to use multiple 
AccessControllers
                within your Lenya installation, just declare them in the <span 
class="codefrag">
                cocoon-xconf.xsl</span> file and choose the type in the <span 
class="codefrag">
                config/ac.xconf</span> file:</p>
  <pre class="code">&lt;?xml version="1.0"?&gt;
  &lt;access-controller type="publication-file"&gt;
    &lt;authorizer type="usecase"&gt;
      &lt;config-file
          
src="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/&gt;
    &lt;/authorizer&gt;
    &lt;accreditable-manager&gt;
      &lt;parameter name="directory"
          value="context:///lenya/pubs/default/config/ac/passwd"/&gt;
    &lt;/accreditable-manager&gt;
  &lt;/access-controller&gt;</pre>
  <p>As you see here, you can put additional configuration code inside the 
                <span class="codefrag">&lt;access-controller&gt;</span> 
element. This allows you to use
                the same AccessController type for multiple publications with 
different
                configurations.</p>
  </div>
  
  
  <a name="N10212"></a><a name="Configurable+Access+Controller+Resolver"></a>
  <h3>Configurable Access Controller Resolver</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The ConfigurableAccessControllerResolver can be configured with an
                AccessController directly inside <span 
class="codefrag">cocoon.xconf</span>:</p>
  <pre class="code">&lt;component-instance 
logger="lenya.ac.accesscontrollerresolver"
      class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"
      name="global"&gt;
    &lt;access-controller type="global"/&gt;
  &lt;/component-instance&gt; </pre>
  </div>
  
  
  <a name="N10224"></a><a name="Composable+Access+Controller+Resolver"></a>
  <h3>Composable Access Controller Resolver</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The ComposableAccessControllerResolver is configured with a list of
                AccessControllerResolvers. Each one of these resolvers is 
invoked until one
                is successful. If no resolver finds an AccessController, the
                ComposableAccessControllerResolver returns <span 
class="codefrag">null</span>.</p>
  <pre class="code">&lt;component-instance 
logger="lenya.ac.accesscontrollerresolver"
      class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"
      name="composable"&gt;
    &lt;resolver type="publication"/&gt;
    &lt;resolver type="global"/&gt;
  &lt;/component-instance&gt;</pre>
  </div>
  
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/accesscontrollers.html
  
  Index: accesscontrollers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Access Controllers</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Access&nbsp;Controllers</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#Defining+the+Role+in+lenya.roles">Defining the Role in 
lenya.roles</a>
  </div>
  <div class="menupageitem">
  <a href="#Declaring+an+AccessController+in+cocoon.xconf">Declaring an 
AccessController in cocoon.xconf</a>
  </div>
  <div class="menupageitem">
  <a href="#Default+Access+Controller">Default Access Controller</a>
  </div>
  <div class="menupageitem">
  <a href="#Bypassable+Access+Controller">Bypassable Access Controller</a>
  </div>
  </div>
  </div>
  <div class="menuitem">
  <a href="accesscontrollerresolvers.html">Access Controller Resolvers</a>
  </div>
  <div class="menuitem">
  <a href="authenticators.html">Authenticators</a>
  </div>
  <div class="menuitem">
  <a href="authorizers.html">Authorizers</a>
  </div>
  <div class="menuitem">
  <a href="policymanagers.html">Policy&nbsp;Managers</a>
  </div>
  <div class="menuitem">
  <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Access Controllers</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="accesscontrollers.pdf"><img alt="PDF" 
src="../../../skin/images/pdfdoc.gif" border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
  
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>An access controller can be used to authenticate entities and to authorize
                requests.</p>
  </div>
  
  <a name="N101D3"></a><a name="Defining+the+Role+in+lenya.roles"></a>
  <h3>Defining the Role in lenya.roles</h3>
  <div style="margin-left: 0 ; border: 2px">
  <pre class="code">&lt;role name="org.apache.lenya.cms.ac2.AccessController"
      shorthand="access-controller"
      
default-class="org.apache.lenya.cms.ac2.BypassableAccessController"/&gt;</pre>
  </div>
                        
  
  <a name="N101DF"></a><a 
name="Declaring+an+AccessController+in+cocoon.xconf"></a>
  <h3>Declaring an AccessController in cocoon.xconf</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>
                Each AccessController component needs a type that is attached 
to the
                role attribute, separated with a slash (/). This allows you to 
choose an
                AccessController in your publication in combination with the
                Publication<a 
href="accesscontrollerresolvers.html">AccessControllerResolver</a>.
                The following example shows the declaration of an 
AccessController with
                the type <em>global</em>:
        </p>
  <pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
      class="org.apache.lenya.cms.ac2.BypassableAccessController"
      role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
      ...
  &lt;/component&gt;</pre>
  </div>
  
        
  <a name="N101F5"></a><a name="Default+Access+Controller"></a>
  <h3>Default Access Controller</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The DefaultAccessController combines an
                        <a href="authenticators.html">Authenticator</a>, a set 
of
                        <a href="authorizers.html">Authorizers</a>, an
                        <a 
href="accreditablemanagers.html">AccreditableManager</a> and a
                        <a href="policymanagers.html">PolicyManager</a> to 
perform these tasks.</p>
  <a name="N1020E"></a><a 
name="Declaring+an+DefaultAccessController+in+cocoon.xconf"></a>
  <h4>Declaring an DefaultAccessController in cocoon.xconf</h4>
  <div style="margin-left: 0 ; border: 2px">
  <p>
                                The DefaultAccessController configuration 
includes the configuration
                                of its sub-components, as you see in the 
following example:
                        </p>
  <pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
      class="org.apache.lenya.cms.ac2.DefaultAccessController"
      role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
      
    &lt;accreditable-manager type="file"&gt;
      &lt;parameter name="directory"
          value="context:///lenya/config/ac/passwd"/&gt;
    &lt;/accreditable-manager&gt;
    
    &lt;policy-manager type="file"/&gt;
    
    &lt;authorizer type="policy"/&gt;
    &lt;authorizer type="workflow"/&gt;
    &lt;authorizer type="usecase"/&gt;
    
  &lt;/component&gt;</pre>
  </div>
  </div>
  
  
  <a name="N1021E"></a><a name="Bypassable+Access+Controller"></a>
  <h3>Bypassable Access Controller</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The BypassableAccessController is a DefaultAccessController that can be
                bypassed for certain URL patterns. For URLs that match those 
patterns
                (regular expressions), access is granted for free.</p>
  <a name="N10227"></a><a 
name="Declaring+an+DefaultAccessController+in+cocoon.xconf-N10224"></a>
  <h4>Declaring an DefaultAccessController in cocoon.xconf</h4>
  <div style="margin-left: 0 ; border: 2px">
  <p>
                                In addition to the DefaultAccessController, the 
BypassableAccessController
                                allows the definition of a regular expresssion 
for the public URL
                                patterns:
                        </p>
  <pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
      class="org.apache.lenya.cms.ac2.BypassableAccessController"
      role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
    ...
    &lt;public&gt;.*[.]css|.*[.]jpg|.*[.]gif&lt;/public&gt;
  &lt;/component&gt;</pre>
  </div>
  </div>
  
  
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/accreditablemanagers.html
  
  Index: accreditablemanagers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Accreditable Managers</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollers.html">Access&nbsp;Controllers</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollerresolvers.html">Access Controller Resolvers</a>
  </div>
  <div class="menuitem">
  <a href="authenticators.html">Authenticators</a>
  </div>
  <div class="menuitem">
  <a href="authorizers.html">Authorizers</a>
  </div>
  <div class="menuitem">
  <a href="policymanagers.html">Policy&nbsp;Managers</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Accreditable&nbsp;Managers</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#UserManager">UserManager</a>
  </div>
  <div class="menupageitem">
  <a href="#GroupManager">GroupManager</a>
  </div>
  <div class="menupageitem">
  <a href="#IPRangeManager">IPRangeManager</a>
  </div>
  <div class="menupageitem">
  <a href="#RoleManager">RoleManager</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Accreditable Managers</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="accreditablemanagers.pdf"><img alt="PDF" 
src="../../../skin/images/pdfdoc.gif" border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
                
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>An AccreditableManager combines a UserManager, a GroupManager, an
                                IPRangeManager and a RoleManager.</p>
  </div>
                
  <a name="N101D3"></a><a name="UserManager"></a>
  <h3>UserManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A UserManager manages users.</p>
  </div>
                
  <a name="N101DD"></a><a name="GroupManager"></a>
  <h3>GroupManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A GroupManager manages groups.</p>
  </div>
                
  <a name="N101E7"></a><a name="IPRangeManager"></a>
  <h3>IPRangeManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A IPRangeManager manages IP address rangess.</p>
  </div>
                
  <a name="N101F1"></a><a name="RoleManager"></a>
  <h3>RoleManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A RoleManager manages roles.</p>
  </div>
        
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/authenticators.html
  
  Index: authenticators.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Authenticators</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollers.html">Access&nbsp;Controllers</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollerresolvers.html">Access Controller Resolvers</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Authenticators</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#Declaring+the+Roles+in+lenya.roles">Declaring the Roles in 
lenya.roles</a>
  </div>
  <div class="menupageitem">
  <a href="#UserAuthenticator">UserAuthenticator</a>
  </div>
  </div>
  </div>
  <div class="menuitem">
  <a href="authorizers.html">Authorizers</a>
  </div>
  <div class="menuitem">
  <a href="policymanagers.html">Policy&nbsp;Managers</a>
  </div>
  <div class="menuitem">
  <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Authenticators</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="authenticators.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
  
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>An authenticator is used to identify a client.</p>
  </div>
  
  
  <a name="N101D3"></a><a name="Declaring+the+Roles+in+lenya.roles"></a>
  <h3>Declaring the Roles in lenya.roles</h3>
  <div style="margin-left: 0 ; border: 2px">
  <pre class="code">&lt;role name="org.apache.lenya.cms.ac2.Authenticator"
      shorthand="authenticator"
      default-class="org.apache.lenya.cms.ac2.UserAuthenticator"/&gt;</pre>
  </div>
  
        
  <a name="N101DF"></a><a name="UserAuthenticator"></a>
  <h3>UserAuthenticator</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The UserAuthenticator uses the request parameters</p>
  <ul>
                        
  <li>
  <span class="codefrag">username</span> and</li>
                        
  <li>
  <span class="codefrag">password</span>
  </li>
                
  </ul>
  <p>to authenticate or reject a user.</p>
  <pre class="code">&lt;component logger="lenya.ac.authenticator"
      class="org.apache.lenya.cms.ac2.UserAuthenticator"
      role="org.apache.lenya.cms.ac2.Authenticator"/&gt;</pre>
  </div>
  
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/authorizers.html
  
  Index: authorizers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Authorizers</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollers.html">Access&nbsp;Controllers</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollerresolvers.html">Access Controller Resolvers</a>
  </div>
  <div class="menuitem">
  <a href="authenticators.html">Authenticators</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Authorizers</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#PolicyAuthorizer">PolicyAuthorizer</a>
  </div>
  <div class="menupageitem">
  <a href="#UsecaseAuthorizer">UsecaseAuthorizer</a>
  </div>
  <div class="menupageitem">
  <a href="#WorkflowAuthorizer">WorkflowAuthorizer</a>
  </div>
  </div>
  </div>
  <div class="menuitem">
  <a href="policymanagers.html">Policy&nbsp;Managers</a>
  </div>
  <div class="menuitem">
  <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Authorizers</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="authorizers.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
  
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>An authorizer checks if an identity is authorized to invoke a certain 
request. The DelegatingAuthorizerAction tries to resolve an AccessController 
for the URL. If an AccessController could be resolved, its Authorizer is used 
to authorize the request. If no AccessController could be found, the access to 
the request is granted for free.</p>
  </div>
        
        
  <a name="N101D3"></a><a name="PolicyAuthorizer"></a>
  <h3>PolicyAuthorizer</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A PolicyAuthorizer uses policies for authorizing.</p>
  </div>
        
        
  <a name="N101DD"></a><a name="UsecaseAuthorizer"></a>
  <h3>UsecaseAuthorizer</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>This authorizer looks for the <span class="codefrag">lenya.usecase</span> 
request
                        parameter and checks the usecase policy file for the 
roles that are
                        allowed to execute this usecase. The location of this 
file is defined
                        using the <span 
class="codefrag">&lt;config-file&gt;</span> tag:</p>
  <pre class="code">&lt;authorizer type="usecase"&gt;
    &lt;config-file 
src="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/&gt;
  &lt;/authorizer&gt;</pre>
  <p>The usecase policy file might look as follows:</p>
  <pre class="code">&lt;?xml version="1.0"?&gt;
  &lt;usecases xmlns="http://apache.org/cocoon/lenya/ac/1.0"&gt;
    &lt;usecase id="create-workflow"&gt;
      &lt;role id="editor"/&gt;
    &lt;/usecase&gt;
  &lt;/usecases&gt;</pre>
  </div>
        
        
  <a name="N101FA"></a><a name="WorkflowAuthorizer"></a>
  <h3>WorkflowAuthorizer</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The WorkflowAuthorizer is responsible for protecting workflow
                        transitions. Therefore it</p>
  <ul>
                        
  <li>looks for the <span class="codefrag">lenya.event</span> request 
parameter,</li>
                        
  <li>determines the current state of the workflow instance, and</li>
                        
  <li>checks if the event may be invoked by one of the current roles in this
                                state.</li>
                
  </ul>
  </div>
        
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  
  1.1                  
cocoon-site/site/lenya/docs/concepts/accesscontrol/policymanagers.html
  
  Index: policymanagers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Policy Managers</title>
  <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <!--================= start Banner ==================-->
  <table summary="header with logos" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <!--================= start Group Logo ==================-->
  <td valign="bottom" bgcolor="#FFFFFF">
  <div class="headerlogo">
  <a href="http://cocoon.apache.org";><img border="0" class="logoImage" 
alt="Apache Cocoon" src="../../../images/cocoon-project-logo-big.png"></a>
  </div>
  <span class="textheader">Apache Cocoon</span>
  <!--================= start Tabs ==================-->
  <div class="tab">
  <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  <tr>
  <td width="10" valign="bottom">
  <div class="tab-separator">
  <img alt="" width="10" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../project/index.html"><font face="Arial, Helvetica, 
Sans-serif">Project Information</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../installation/index.html"><font face="Arial, Helvetica, 
Sans-serif">Installation</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-left-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-left-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-selected">
  <a href="../../index.html"><font color="#000000">Documentation</font></a>
  </div>
  </td><td style="background-image: 
url(../../../skin/images/tab-right-selected.png)" valign="top" width="5"><img 
alt="" src="../../../skin/images/tab-corner-right-selected.png"></td><td 
valign="bottom" class="tab">
  <div class="tab-separator">
  <table cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-left.png"></td><td rowspan="2" 
valign="bottom" class="tab">
  <div class="tab-not-selected-shadow">
  <div class="tab-not-selected">
  <a href="../../../community/index.html"><font face="Arial, Helvetica, 
Sans-serif">Community</font></a>
  </div>
  </div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="top" width="5" height="5"><img alt="" 
src="../../../skin/images/tab-corner-right.png"></td>
  </tr>
  <tr>
  <td style="background-image: url(../../../skin/images/tab-left.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-left">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td><td style="background-image: url(../../../skin/images/tab-right.png)" 
valign="bottom">
  <div class="tab-not-selected-shadow-right">
  <img alt="" width="4" src="../../../skin/images/spacer.gif"></div>
  </td>
  </tr>
  </table>
  </div>
  </td>
  </tr>
  </table>
  </div>
  <!--================= end Tabs ==================-->
  </td>
  <!--================= end Group Logo ==================-->
  <!--================= start Project Logo ==================--><td 
width="100%" valign="bottom" align="right" bgcolor="#FFFFFF">
  <div style="padding: 10px" class="headerlogo">
  <a href="http://cocoon.apache.org/lenya";><img border="0" class="logoImage" 
alt="Lenya" src="../../../images/apache-lenya-light.png"></a>
  </div>
  <div class="tab-separator"></div>
  </td>
  <!--================= end Project Logo ==================-->
  </tr>
  </table>
  <!--================= end Banner ==================-->
  <div class="tab-bar">
  <img alt="" height="5" src="../../../skin/images/spacer.gif"></div>
  <!--================= start Menu, NavBar, Content ==================-->
  <table summary="page content" bgcolor="#ffffff" width="100%" border="0" 
cellpadding="0" cellspacing="0">
  <tr>
  <td valign="top">
  <table summary="menu" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <!--================= start left top NavBar ==================-->
  <!--================= end left top NavBar ==================-->
  <td valign="top">
  <div class="tab-subbar">
  <img width="10" height="5" alt="" src="../../../skin/images/spacer.gif"></div>
  </td><td valign="top">
  <!--================= start Menu items ==================-->
  <div class="menu">
  <div class="menutitle"></div>
  <div class="menuitemgroup">
  <div class="menutitle">Integrator/Dev Guide</div>
  <div class="menuitemgroup">
  <div class="menutitle">Concepts and Best Practises</div>
  <div class="menuitemgroup">
  <div class="menutitle">Access&nbsp;Control</div>
  <div class="menuitemgroup">
  <div class="menuitem">
  <a href="terms.html">Basic Terms</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollers.html">Access&nbsp;Controllers</a>
  </div>
  <div class="menuitem">
  <a href="accesscontrollerresolvers.html">Access Controller Resolvers</a>
  </div>
  <div class="menuitem">
  <a href="authenticators.html">Authenticators</a>
  </div>
  <div class="menuitem">
  <a href="authorizers.html">Authorizers</a>
  </div>
  <div class="menupage">
  <div class="menupagetitle">Policy&nbsp;Managers</div>
  <div class="menupageitemgroup">
  <div class="menupageitem">
  <a href="#Introduction">Introduction</a>
  </div>
  <div class="menupageitem">
  <a href="#InheritingPolicyManager">InheritingPolicyManager</a>
  </div>
  <div class="menupageitem">
  <a href="#FilePolicyManager">FilePolicyManager</a>
  </div>
  <div class="menupageitem">
  <a href="#PublicationFilePolicyManager">PublicationFilePolicyManager</a>
  </div>
  <div class="menupageitem">
  <a href="#SitemapPolicyManager">SitemapPolicyManager</a>
  </div>
  </div>
  </div>
  <div class="menuitem">
  <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <!--================= end Menu items ==================-->
  </td><td valign="top">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <tr>
  <td></td><td height="5"><img alt="" width="150" height="1" 
src="../../../skin/images/spacer.gif"></td><td></td>
  </tr>
  </table>
  </td><td valign="top" width="100%">
  <table summary="content" width="100%" border="0" cellpadding="0" 
cellspacing="0">
  <tr>
  <td valign="top" colspan="3">
  <div class="tab-subbar">&nbsp;&nbsp;</div>
  </td>
  </tr>
  <!--================= start Content==================-->
  <tr>
  <td align="left" width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  <div class="content">
  <table cellspacing="0" cellpadding="0" class="title">
  <tr>
  <td valign="middle">
  <h1>Policy Managers</h1>
  </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="policymanagers.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
            PDF</a></td>
  </tr>
  </table>
        
  
  <a name="N101C9"></a><a name="Introduction"></a>
  <h3>Introduction</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>A PolicyManager is used to resolve the policy for a certain URL. Lenya 
ships with the following PolicyManagers:</p>
  </div>
        
        
  <a name="N101D3"></a><a name="InheritingPolicyManager"></a>
  <h3>InheritingPolicyManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>This PolicyManager merges the policies of all steps in the URL. For each
                        URL, a <em>url policy</em> and a <em>subtree 
policy</em> can be defined.
                        The InheritingPolicyManager adds the credentials of</p>
  <ul>
                        
  <li>the subtree policies for all parent directories of the requested 
page,</li>
                        
  <li>the subtree policy of the requested page, and</li>
                        
  <li>the url policy of the requested page.</li>
                
  </ul>
  <p>For instance, if the URL is <span 
class="codefrag">/lenya/news/index.html</span>, the
                        following policies are merged:</p>
  <ul>
                        
  <li>subtree policy of <span class="codefrag">/</span>
  </li>
                        
  <li>subtree policy of <span class="codefrag">/lenya</span>
  </li>
                        
  <li>subtree policy of <span class="codefrag">/lenya/news</span>
  </li>
                        
  <li>subtree policy of <span class="codefrag">/lenya/news/index</span>
  </li>
                        
  <li>url policy of <span class="codefrag">/lenya/news/index</span>
  </li>
                
  </ul>
  </div>
        
        
  <a name="N10211"></a><a name="FilePolicyManager"></a>
  <h3>FilePolicyManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The FilePolicyManager is an InheritingPolicyManager. The policies are 
defined by policy files that are arranged as a directory tree that reflects the 
URI space, e.g.:
                        </p>
  <pre class="code">/subtree-policy.acml
  /lenya/subtree-policy.acml
  /lenya/news/index.html/subtree-policy.acml
  /lenya/news/index.html/url-policy.acml</pre>
  <p>If a certain policy file does not exist (like /lenya/news in the above 
example), an empty policy is used instead.</p>
  </div>
        
        
  <a name="N10223"></a><a name="PublicationFilePolicyManager"></a>
  <h3>PublicationFilePolicyManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>This PolicyManager does the same as the FilePolicyManager, except that
                        the current publication is determined and the policy 
files are resolved
                        relatively to the <span 
class="codefrag">publication/config/ac/policies</span> directory.</p>
  </div>
        
        
  <a name="N10230"></a><a name="SitemapPolicyManager"></a>
  <h3>SitemapPolicyManager</h3>
  <div style="margin-left: 0 ; border: 2px">
  <p>The SitemapPolicyManager uses the policy sitemap to resolve the policy
                        for a certain URL.</p>
  </div>
                
    
  </div>
  </td><td width="10"><img width="10" height="1" alt="" 
src="../../../skin/images/spacer.gif"></td>
  </tr>
  <!--================= end Content==================-->
  </table>
  </td>
  </tr>
  <tr>
  <td>
  <br>
  <br>
  </td>
  </tr>
  </table>
  <!--================= end Menu, NavBar, Content ==================-->
  <!--================= start Footer ==================-->
  <div class="footer">
  <table summary="footer" cellspacing="0" cellpadding="0" width="100%" 
border="0">
  <tr>
  <td colspan="2" height="1"><img height="1" width="1" alt="" 
src="../../../skin/images/spacer.gif"><a 
href="../../../skin/images/label.gif"></a><a 
href="../../../skin/images/page.gif"></a><a 
href="../../../skin/images/chapter.gif"></a><a 
href="../../../skin/images/chapter_open.gif"></a><a 
href="../../../skin/images/current.gif"></a></td>
  </tr>
  <tr>
  <td colspan="2" class="copyright" align="center" width="90%"><span 
class="footnote">Copyright &copy;
                  2002-2003&nbsp;The Apache Software Foundation. All rights 
reserved.
                  <br>
  <script type="text/javascript" language="JavaScript"><!--
                    document.write(" - "+"Last Published: " + 
document.lastModified);
                    //  --></script></span></td><td nowrap="nowrap" 
align="right" class="logos"><a 
href="http://validator.w3.org/check/referer";><img width="88" height="31" 
alt="Valid HTML 4.01!" src="../../../skin/images/valid-html401.png" 
class="logoImage" border="0"></a><a 
href="http://jigsaw.w3.org/css-validator/";><img width="88" height="31" 
alt="Valid CSS!" src="../../../skin/images/vcss.png" class="logoImage" 
border="0"></a></td>
  </tr>
  </table>
  </div>
  <!--================= end Footer ==================-->
  </body>
  </html>
  
  
  

Reply via email to