You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/08/20 20:58:29 UTC

cvs commit: cocoon-lenya/src/webapp/lenya/content/info access-control.xsp ac-auth.xsp

andreas     2003/08/20 11:58:29

  Added:       src/webapp/lenya/content/info access-control.xsp
  Removed:     src/webapp/lenya/content/info ac-auth.xsp
  Log:
  reflecting tab separation in access control tabs
  
  Revision  Changes    Path
  1.1                  cocoon-lenya/src/webapp/lenya/content/info/access-control.xsp
  
  Index: access-control.xsp
  ===================================================================
  <?xml version="1.0"?>
  
  <xsp:page 
    language="java" 
    xmlns:xsp="http://apache.org/xsp"
    xmlns:xsp-lenya="http://apache.org/cocoon/lenya/xsp/1.0"
    xmlns:lenya-info="http://apache.org/cocoon/lenya/info/1.0"
    xmlns:li="http://apache.org/cocoon/lenya/info/1.0"
    xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0"
    xmlns:rc="http://apache.org/cocoon/lenya/rc/1.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:input="http://apache.org/cocoon/xsp/input/1.0"
    xmlns:request="http://apache.org/xsp/request/2.0"
  >
  
    <xsp:structure>
      <xsp:include>java.io.IOException</xsp:include>
      <xsp:include>org.apache.cocoon.environment.Session</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac.Item</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac.ItemManager</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac.Role</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac.RoleManager</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac2.Accreditable</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac2.Credential</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac2.xsp.PolicyHelper</xsp:include>
      <xsp:include>org.apache.lenya.cms.ac2.xsp.CredentialWrapper</xsp:include>
      <xsp:include>org.apache.lenya.cms.publication.Publication</xsp:include>
      <xsp:include>org.apache.lenya.xml.DocumentHelper</xsp:include>
    </xsp:structure>
      
  <lenya-info:info>
     
      <xsp:logic>
        String area = parameters.getParameter("area", null);
  			PolicyHelper helper = new PolicyHelper();
  			helper.setup(objectModel, this.manager, area);
        
        String[] types = { "user", "group", "iprange", "role" };
        for (int i = 0; i &lt; types.length; i++) {
  				<li:items>
  					<xsp:attribute name="type"><xsp:expr>types[i]</xsp:expr></xsp:attribute>
  				<xsp:logic>
  				ItemManager manager = null;
  				
  				if (types[i].equals("user")) {
  						manager = (ItemManager) <input:get-attribute module="access-control" name="user-manager" as="object"/>;
  				}
  				else if (types[i].equals("group")) {
  						manager = (ItemManager) <input:get-attribute module="access-control" name="group-manager" as="object"/>;
  				}
  				else if (types[i].equals("iprange")) {
  						manager = (ItemManager) <input:get-attribute module="access-control" name="iprange-manager" as="object"/>;
  				}
  				else if (types[i].equals("role")) {
  						manager = (ItemManager) <input:get-attribute module="access-control" name="role-manager" as="object"/>;
  				}
  						 
  				for (java.util.Iterator items = manager.getItems(); items.hasNext(); ) {
  						Item item = (Item) items.next();
  						<li:item>
  							<xsp:attribute name="id"><xsp:expr>item.getId()</xsp:expr></xsp:attribute>
  							<xsp:expr>item.getName()</xsp:expr>
  						</li:item>
  				}
  				</xsp:logic>
  				</li:items>
  				
  				String[] operations = { "add", "delete" };
  				
  				for (int j = 0; j &lt; operations.length; j++) {
  						if (request.getParameter(operations[j] + "_credential_" + types[i]) != null) {
  								String roleId = request.getParameter("role_id");
  								
  								String accreditableId = request.getParameter("accreditable_id");
  								Item item = manager.getItem(accreditableId);
  								
  								RoleManager roleManager = (RoleManager)
  										<input:get-attribute module="access-control" name="role-manager" as="object"/>;
  								Role role = roleManager.getRole(roleId);
  								helper.manipulateCredential(item, role, operations[j]);
  						}
  				}
        
        }
        
  				
  			if (request.getParameter("change_ssl") != null) {
  				if (request.getParameter("ssl") != null) {
  						helper.setUrlSSLProtected(true);
  				}
  				else {
  						helper.setUrlSSLProtected(false);
  				}
  			}
  					
          <li:permissions>
            <xsp:attribute name="ssl"><xsp:expr>helper.isUrlSSLProtected()</xsp:expr></xsp:attribute>
            <xsp:attribute name="ancestor-ssl"><xsp:expr>helper.isAncestorSSLProtected()</xsp:expr></xsp:attribute>
            <xsp:attribute name="area"><xsp:expr>area</xsp:expr></xsp:attribute>
            
            <xsp:logic>
            	
            CredentialWrapper[] credentials = helper.getURICredentials();
            for (int j = 0; j &lt; credentials.length; j++) {
                <li:credential type="uri">
  								<xsp:attribute name="accreditable-type"><xsp:expr>credentials[j].getType()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="accreditable-id"><xsp:expr>credentials[j].getAccreditableId()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="accreditable-name"><xsp:expr>credentials[j].getAccreditableName()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="role-id"><xsp:expr>credentials[j].getRoleId()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="role-name"><xsp:expr>credentials[j].getRoleName()</xsp:expr></xsp:attribute>
                </li:credential>
            }
            	
            credentials = helper.getParentCredentials();
            for (int j = 0; j &lt; credentials.length; j++) {
                <li:credential type="parent">
  								<xsp:attribute name="accreditable-type"><xsp:expr>credentials[j].getType()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="accreditable-id"><xsp:expr>credentials[j].getAccreditableId()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="accreditable-name"><xsp:expr>credentials[j].getAccreditableName()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="role-id"><xsp:expr>credentials[j].getRoleId()</xsp:expr></xsp:attribute>
  								<xsp:attribute name="role-name"><xsp:expr>credentials[j].getRoleName()</xsp:expr></xsp:attribute>
                </li:credential>
            }
            
            </xsp:logic>	
            
          </li:permissions>
          
          helper.tearDown();
      </xsp:logic>
     
  </lenya-info:info>
  
  </xsp:page>
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org