You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@apache.org on 2001/06/15 00:46:14 UTC

cvs commit: jakarta-slide/src/wrappers/catalina Domain.xml web.xml

remm        01/06/14 15:46:13

  Added:       src/wrappers/catalina Domain.xml web.xml
  Log:
  - Provide some separate config files.
  - By default, enable authetication on the WebDAV engine. That opens a security
    hole which will be closed soon.
  
  Revision  Changes    Path
  1.1                  jakarta-slide/src/wrappers/catalina/Domain.xml
  
  Index: Domain.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6"
   default="slide">
    
    <namespace name="slide">
      
      <definition>
        
        <store name="memory">
          <!--nodestore classname="slidestore.reference.JDBCDescriptorsStore">
           <parameter name="driver">org.hsql.jdbcDriver</parameter>
           <parameter name="url">HypersonicSQL:slide</parameter>
           <parameter name="user">sa</parameter>
           <parameter name="password"></parameter>
          </nodestore>
          <securitystore>
            <reference store="nodestore" />
          </securitystore>
          <lockstore>
            <reference store="nodestore" />
          </lockstore>
          <revisiondescriptorsstore>
            <reference store="nodestore" />
          </revisiondescriptorsstore>
          <revisiondescriptorstore>
            <reference store="nodestore" />
          </revisiondescriptorstore-->
          <!--contentstore classname="slidestore.reference.JDBCContentStore">
           <parameter name="driver">org.hsql.jdbcDriver</parameter>
           <parameter name="url">HypersonicSQL:slidecontent</parameter>
           <parameter name="user">sa</parameter>
           <parameter name="password"></parameter>
          </contentstore-->
          <contentstore classname="slidestore.reference.FileContentStore">
            <parameter name="rootpath">files</parameter>
          </contentstore>
        </store>
        
        <scope match="/" store="memory" />
        
      </definition>
      
      <configuration>
  
        <!-- Actions mapping -->
        <default-action>/actions</default-action>
        <read-object>/actions/read</read-object>
        <create-object>/actions/write</create-object>
        <remove-object>/actions/write</remove-object>
        <grant-permission>/actions/manage</grant-permission>
        <revoke-permission>/actions/manage</revoke-permission>
        <read-permissions>/actions/manage</read-permissions>
        <lock-object>/actions/write</lock-object>
        <kill-lock>/actions/manage</kill-lock>
        <read-locks>/actions/read</read-locks>
        <read-revision-metadata>/actions/read</read-revision-metadata>
        <create-revision-metadata>/actions/write</create-revision-metadata>
        <modify-revision-metadata>/actions/write</modify-revision-metadata>
        <remove-revision-metadata>/actions/write</remove-revision-metadata>
        <read-revision-content>/actions/read</read-revision-content>
        <create-revision-content>/actions/write</create-revision-content>
        <modify-revision-content>/actions/write</modify-revision-content>
        <remove-revision-content>/actions/write</remove-revision-content>
  
        <!-- Paths configuration -->
        <userspath>/users</userspath>
        <guestpath>guest</guestpath>
        <filespath>/files</filespath>
        <parameter name="dav">true</parameter>
        <parameter name="standalone">true</parameter>
  
        <!-- Roles definition -->
        <role name="root">slideroles.basic.RootRole</role>
        <role name="user">slideroles.basic.UserRole</role>
        <role name="guest">slideroles.basic.GuestRole</role>
  
        <!-- Users management -->
        <auto-create-users>false</auto-create-users>
  
        <!-- Default properties mapping -->
        <default-property name="foo" namespace="nsfoo/" value="bar"
         role="user"/>
        <default-property name="password" namespace="slide/" value=""
         role="user"/>
  
      </configuration>
      
      <data>
        
        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/">
          
          <permission action="/actions" subject="root"/>
          <permission action="/actions/read" subject="user"
           inheritable="false"/>
          <permission action="/actions/read" subject="nobody"
           inheritable="false"/>
          
          <!-- /users represents the unauthenticated user -->
          
          <objectnode classname="org.apache.slide.structure.SubjectNode" 
           uri="/users">
            
            <permission action="/actions" subject="~"/>
            <permission action="/actions" subject="guest"
             inheritable="true" negative="true"/>
            <permission action="/actions/read" subject="user"
             inheritable="false"/>
  
            <!-- Permission group example -->
            
            <objectnode classname="org.apache.slide.structure.GroupNode" 
              uri="/users/groupA">
               <objectnode classname="org.apache.slide.structure.LinkNode" 
                  uri="/users/groupA/john" linkedUri="/users/john" />
               <objectnode classname="org.apache.slide.structure.LinkNode" 
                  uri="/users/groupA/root" linkedUri="/users/root" />
               <objectnode classname="org.apache.slide.structure.SubjectNode" 
                 uri="/users/groupA/singleGroupMember"  />
            </objectnode>
  
            <!-- /users/root represents the administrator -->
            
            <objectnode classname="slideroles.basic.RootRoleImpl" 
             uri="/users/root">
              <revision>
                <property name="password">root</property>
              </revision>
            </objectnode>
            
            <!-- /users/john represents an authenticated user -->
            
            <objectnode classname="slideroles.basic.UserRoleImpl" 
             uri="/users/john">
              <revision>
                <property name="password">john</property>
              </revision>
            </objectnode>
            
            <!-- /users/guest represents an authenticated or unauthenticated 
                 guest user -->
            
            <objectnode classname="slideroles.basic.GuestRoleImpl" 
             uri="/users/guest">
              <revision>
                <property name="password"></property>
              </revision>
            </objectnode>
            
          </objectnode>
          
          <objectnode classname="org.apache.slide.structure.ActionNode" 
           uri="/actions">
            
            <objectnode classname="org.apache.slide.structure.ActionNode" 
             uri="/actions/read"/>
            
            <objectnode classname="org.apache.slide.structure.ActionNode" 
             uri="/actions/write"/>
            
            <objectnode classname="org.apache.slide.structure.ActionNode" 
             uri="/actions/manage"/>
            
          </objectnode>
          
          <objectnode classname="org.apache.slide.structure.SubjectNode" 
           uri="/files">
            
            <permission action="/actions/manage" subject="/users/john"/>
            <permission action="/actions/write" subject="+/users/groupA"/>
            <permission action="/actions/read" subject="nobody"/>
            
          </objectnode>
          
        </objectnode>
        
      </data>
      
    </namespace>
    
  </slide>
  
  
  
  1.1                  jakarta-slide/src/wrappers/catalina/web.xml
  
  Index: web.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
      "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
  
  <web-app>
  
    <servlet>
      <servlet-name>webdav</servlet-name>
      <servlet-class>org.apache.slide.webdav.WebdavServlet</servlet-class>
      <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
      </init-param>
      <init-param>
        <param-name>depth-limit</param-name>
        <param-value>3</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>
  
    <!-- The mapping for the Slide WebDAV servlet -->
    <servlet-mapping>
      <servlet-name>webdav</servlet-name>
      <url-pattern>/*</url-pattern>
    </servlet-mapping>
  
    <!-- Set the default session timeout (in seconds) -->
    <session-config>
      <session-timeout>30</session-timeout>
    </session-config>
  
    <!-- Establish the default MIME type mappings -->
    <mime-mapping>
      <extension>txt</extension>
      <mime-type>text/plain</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>html</extension>
      <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>htm</extension>
      <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>gif</extension>
      <mime-type>image/gif</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>jpg</extension>
      <mime-type>image/jpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>jpe</extension>
      <mime-type>image/jpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>jpeg</extension>
      <mime-type>image/jpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>java</extension>
      <mime-type>text/plain</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>body</extension>
      <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>rtx</extension>
      <mime-type>text/richtext</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tsv</extension>
      <mime-type>text/tab-separated-values</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>etx</extension>
      <mime-type>text/x-setext</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ps</extension>
      <mime-type>application/x-postscript</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>class</extension>
      <mime-type>application/java</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>csh</extension>
      <mime-type>application/x-csh</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>sh</extension>
      <mime-type>application/x-sh</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tcl</extension>
      <mime-type>application/x-tcl</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tex</extension>
      <mime-type>application/x-tex</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>texinfo</extension>
      <mime-type>application/x-texinfo</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>texi</extension>
      <mime-type>application/x-texinfo</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>t</extension>
      <mime-type>application/x-troff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tr</extension>
      <mime-type>application/x-troff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>roff</extension>
      <mime-type>application/x-troff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>man</extension>
      <mime-type>application/x-troff-man</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>me</extension>
      <mime-type>application/x-troff-me</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ms</extension>
      <mime-type>application/x-wais-source</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>src</extension>
      <mime-type>application/x-wais-source</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>zip</extension>
      <mime-type>application/zip</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>bcpio</extension>
      <mime-type>application/x-bcpio</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>cpio</extension>
      <mime-type>application/x-cpio</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>gtar</extension>
      <mime-type>application/x-gtar</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>shar</extension>
      <mime-type>application/x-shar</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>sv4cpio</extension>
      <mime-type>application/x-sv4cpio</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>sv4crc</extension>
      <mime-type>application/x-sv4crc</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tar</extension>
      <mime-type>application/x-tar</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ustar</extension>
      <mime-type>application/x-ustar</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>dvi</extension>
      <mime-type>application/x-dvi</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>hdf</extension>
      <mime-type>application/x-hdf</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>latex</extension>
      <mime-type>application/x-latex</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>bin</extension>
      <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>oda</extension>
      <mime-type>application/oda</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>pdf</extension>
      <mime-type>application/pdf</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ps</extension>
      <mime-type>application/postscript</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>eps</extension>
      <mime-type>application/postscript</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ai</extension>
      <mime-type>application/postscript</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>rtf</extension>
      <mime-type>application/rtf</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>nc</extension>
      <mime-type>application/x-netcdf</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>cdf</extension>
      <mime-type>application/x-netcdf</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>cer</extension>
      <mime-type>application/x-x509-ca-cert</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>exe</extension>
      <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>gz</extension>
      <mime-type>application/x-gzip</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>Z</extension>
      <mime-type>application/x-compress</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>z</extension>
      <mime-type>application/x-compress</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>hqx</extension>
      <mime-type>application/mac-binhex40</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mif</extension>
      <mime-type>application/x-mif</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ief</extension>
      <mime-type>image/ief</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tiff</extension>
      <mime-type>image/tiff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>tif</extension>
      <mime-type>image/tiff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ras</extension>
      <mime-type>image/x-cmu-raster</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>pnm</extension>
      <mime-type>image/x-portable-anymap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>pbm</extension>
      <mime-type>image/x-portable-bitmap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>pgm</extension>
      <mime-type>image/x-portable-graymap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>ppm</extension>
      <mime-type>image/x-portable-pixmap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>rgb</extension>
      <mime-type>image/x-rgb</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>xbm</extension>
      <mime-type>image/x-xbitmap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>xpm</extension>
      <mime-type>image/x-xpixmap</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>xwd</extension>
      <mime-type>image/x-xwindowdump</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>au</extension>
      <mime-type>audio/basic</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>snd</extension>
      <mime-type>audio/basic</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>aif</extension>
      <mime-type>audio/x-aiff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>aiff</extension>
      <mime-type>audio/x-aiff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>aifc</extension>
      <mime-type>audio/x-aiff</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>wav</extension>
      <mime-type>audio/x-wav</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mpeg</extension>
      <mime-type>video/mpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mpg</extension>
      <mime-type>video/mpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mpe</extension>
      <mime-type>video/mpeg</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>qt</extension>
      <mime-type>video/quicktime</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mov</extension>
      <mime-type>video/quicktime</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>avi</extension>
      <mime-type>video/x-msvideo</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>movie</extension>
      <mime-type>video/x-sgi-movie</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>avx</extension>
      <mime-type>video/x-rad-screenplay</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>wrl</extension>
      <mime-type>x-world/x-vrml</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>mpv2</extension>
      <mime-type>video/mpeg2</mime-type>
    </mime-mapping>
  
    <!-- Establish the default list of welcome files -->
    <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>index.html</welcome-file>
      <welcome-file>index.htm</welcome-file>
    </welcome-file-list>
  
    <!-- Authetication for the WebDAV servlet -->
  
    <!-- Uncomment this to get authentication -->
  
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>DAV resource</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>COPY</http-method>
        <http-method>DELETE</http-method>
        <http-method>GET</http-method>
        <http-method>HEAD</http-method>
        <http-method>LOCK</http-method>
        <http-method>MKCOL</http-method>
        <http-method>MOVE</http-method>
        <http-method>OPTIONS</http-method>
        <http-method>POST</http-method>
        <http-method>PROPFIND</http-method>
        <http-method>PROPPATCH</http-method>
        <http-method>PUT</http-method>
        <http-method>UNLOCK</http-method>
      </web-resource-collection>
      <auth-constraint>
        <role-name>root</role-name>
        <role-name>guest</role-name>
        <role-name>user</role-name>
      </auth-constraint>
    </security-constraint>
  
    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>Slide DAV Server</realm-name>
    </login-config>
  
  </web-app>