spiralcraft.servlet.autofilter examples

These are examples of how to use the components in the spiralcraft.servlet.autofilter subsystem

Simple directory security

Lightweight directory security, in its most basic form.

Put the following in a file named .control.xml into the directory you wish to secure

 
  <?xml version="1.0" encoding="Cp1252"?>
  <autofilter:AutoFilter.list
    xmlns:autofilter="class:/spiralcraft/servlet/autofilter"
    >  
  
    <autofilter:AuthenticateFilter>
  				
      <authenticator>
        <securitySPI:DataAuthenticator
          xmlns:securitySPI="class:/spiralcraft/security/spi"
          xmlns:security="class:/spiralcraft/security/"
          >	
  			
          <realmName>my.domain.com
          </realmName>
  			
          <source>
  			
            <dataxml:XmlQueryable
              xmlns:dataxml="class:/spiralcraft/data/xml"
              >
              <resourceURI>context://data/security/Login.xml
              </resourceURI>
  					
              <resultType><security:Login.type/>
              </resultType>
  						
            </dataxml:XmlQueryable>
  				
          </source>
        </securitySPI:DataAuthenticator>
      </authenticator>
  	
    </autofilter:AuthenticateFilter>
  </autofilter:AutoFilter.list>
  

Put the following in <context-dir>/WEB-INF/data/security/Login.xml

 <?xml version="1.0" encoding="Cp1252"?>
 
 <security:Login.list
   xmlns:security="class:/spiralcraft/security"
   >
 
   <security:Login>
     <username>test1
     </username>
     <clearpass>test1
     </clearpass>
   </security:Login>
 
   <security:Login>
     <username>test2
     </username>
     
     <clearpass>test2
     </clearpass>
   </security:Login>
 
 </security:Login.list>

Pending enhancement: A simpler mode with a single username/password should be built-in.

Pending enhancement: DataAuthenticator should accept a realm and a dataFile URI for abbreviated config.