You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by Ahmed Hammad <ah...@harf.com> on 2001/12/02 08:51:21 UTC

RE: Tomcat 4.0 and Slide ream integration

It dose not work, I already tried all such tricks, I am trying to debug
tomcat, adding some log statements and recompile to know more information
about the problem.

Thanks

-----Original Message-----
From: Jason Harrop [mailto:jason@xn.com.au]
Sent: Friday, 30 November , 2001 3:07 PM
To: Slide Users List
Subject: Re: Tomcat 4.0 and Slide real integration


Try putting slide-catalinawrapper.jar in TC's server/lib.


Ahmed Hammad wrote:

> I have tomcat 4.0.1, Slide 1.0.16 and JDK 1.3.1 on Windows 2000
>
> I am trying to integrate Slide realm authentication with tomcat 4.0, i
> copied all required jar and trying to change server.xml to be:
>
> <Realm className="wrappers.catalina.SlideRealm" />
> instead of
> <Realm className="org.apache.catalina.realm.MemoryRealm">
>
> But I always have this error:
>
>
> C:\jakarta-tomcat-4.0.1\bin>catalina run
> Using CATALINA_BASE: ..
> Using CATALINA_HOME: ..
> Using CLASSPATH:     ..\bin\bootstrap.jar;c:\jdk1.3\lib\tools.jar
> Using JAVA_HOME:     c:\jdk1.3
> Exception during startup processing
> java.lang.reflect.InvocationTargetException:
java.lang.NoClassDefFoundError:
> org/apache/catalina/realm/RealmBase
>         at java.lang.ClassLoader.defineClass0(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
>         at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
>         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>         at
>
org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader
> .java:671)
>         at
>
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:1090)
>         at
>
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:989)
>         at
>
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:1073)
>         at
>
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:989)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:120)
>         at
> org.apache.catalina.util.xml.ObjectCreate.start(XmlMapper.java:616)
>         at
> org.apache.catalina.util.xml.XmlMapper.matchStart(XmlMapper.java:412)
>         at
> org.apache.catalina.util.xml.XmlMapper.startElement(XmlMapper.java:91)
>         at
>
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
>         at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
>         at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidat
> or.java:1214)
>         at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanne
> r.java:1806)
>         at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
> LDocumentScanner.java:1182)
>         at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
> java:381)
>         at
org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)
>         at
> org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
>         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
>         at javax.xml.parsers.SAXParser.parse(SAXParser.java:290)
>         at
> org.apache.catalina.util.xml.XmlMapper.readXml(XmlMapper.java:228)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:725)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         at java.lang.reflect.Method.invoke(Native Method)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
>
> -----
>
> It seems like tomcat unable to find the wrapper class,
> wrappers.catalina.SlideRealm, but I already copied all jars to common\lib
> including slide-catalinawrapper.jar
>
>
>
> Thanks for your time
>
> Hamad
>
>
>
>
>
> ------------------------------------------------------------------------
>
> <!-- Example Server Configuration File -->
> <!-- Note that component elements are nested corresponding to their
>      parent-child relationships with each other -->
>
> <!-- A "Server" is a singleton element that represents the entire JVM,
>      which may contain one or more "Service" instances.  The Server
>      listens for a shutdown command on the indicated port.
>
>      Note:  A "Server" is not itself a "Container", so you may not
>      define subcomponents such as "Valves" or "Loggers" at this level.
>  -->
>
> <Server port="8005" shutdown="SHUTDOWN" debug="0">
>
>
>   <!-- A "Service" is a collection of one or more "Connectors" that share
>        a single "Container" (and therefore the web applications visible
>        within that Container).  Normally, that Container is an "Engine",
>        but this is not required.
>
>        Note:  A "Service" is not itself a "Container", so you may not
>        define subcomponents such as "Valves" or "Loggers" at this level.
>    -->
>
>   <!-- Define the Tomcat Stand-Alone Service -->
>   <Service name="Tomcat-Standalone">
>
>     <!-- A "Connector" represents an endpoint by which requests are
received
>          and responses are returned.  Each Connector passes requests on to
the
>          associated "Container" (normally an Engine) for processing.
>
>          By default, a non-SSL HTTP/1.1 Connector is established on port
8080.
>          You can also enable an SSL HTTP/1.1 Connector on port 8443 by
>          following the instructions below and uncommenting the second
Connector
>          entry.  SSL support requires the following steps (see the SSL
Config
>          HOWTO in the Tomcat 4.0 documentation bundle for more detailed
>          instructions):
>          * Download and install JSSE 1.0.2 or later, and put the JAR files
>            into "$JAVA_HOME/jre/lib/ext".
>          * Execute:
>              %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
(Windows)
>              $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
(Unix)
>            with a password value of "changeit" for both the certificate
and
>            the keystore itself.
>
>          By default, DNS lookups are enabled when a web application calls
>          request.getRemoteHost().  This can have an adverse impact on
>          performance, so you can disable it by setting the
>          "enableLookups" attribute to "false".  When DNS lookups are
disabled,
>          request.getRemoteHost() will return the String version of the
>          IP address of the remote client.
>     -->
>
>     <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
>     <Connector
className="org.apache.catalina.connector.http.HttpConnector"
>                port="8080" minProcessors="5" maxProcessors="75"
>                enableLookups="true" redirectPort="8443"
>                acceptCount="10" debug="0" connectionTimeout="60000"/>
>     <!-- Note : To disable connection timeouts, set connectionTimeout
value
>      to -1 -->
>
>     <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
>     <!--
>     <Connector
className="org.apache.catalina.connector.http.HttpConnector"
>                port="8443" minProcessors="5" maxProcessors="75"
>                enableLookups="true"
> 	       acceptCount="10" debug="0" scheme="https" secure="true">
>       <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
>                clientAuth="false" protocol="TLS"/>
>     </Connector>
>     -->
>
>     <!-- Define an AJP 1.3 Connector on port 8009 -->
>     <!--
>     <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
>                port="8009" minProcessors="5" maxProcessors="75"
>                acceptCount="10" debug="0"/>
>     -->
>
>     <!-- Define a Proxied HTTP/1.1 Connector on port 8081 -->
>     <!-- See proxy documentation for more information about using
this. -->
>     <!--
>     <Connector
className="org.apache.catalina.connector.http.HttpConnector"
>                port="8081" minProcessors="5" maxProcessors="75"
>                enableLookups="true"
>                acceptCount="10" debug="0" connectionTimeout="60000"
>                proxyPort="80"/>
>     -->
>
>     <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8082 -->
>     <!--
>     <Connector
className="org.apache.catalina.connector.http10.HttpConnector"
>                port="8082" minProcessors="5" maxProcessors="75"
>                enableLookups="true" redirectPort="8443"
>                acceptCount="10" debug="0"/>
>     -->
>
>     <!-- An Engine represents the entry point (within Catalina) that
processes
>          every request.  The Engine implementation for Tomcat stand alone
>          analyzes the HTTP headers included with the request, and passes
them
>          on to the appropriate Host (virtual host). -->
>
>     <!-- Define the top level container in our container hierarchy -->
>     <Engine name="Standalone" defaultHost="localhost" debug="0">
>
>       <!-- The request dumper valve dumps useful debugging information
about
>            the request headers and cookies that were received, and the
response
>            headers and cookies that were sent, for all requests received
by
>            this instance of Tomcat.  If you care only about requests to a
>            particular virtual host, or a particular application, nest this
>            element inside the corresponding <Host> or <Context> entry
instead.
>
>            For a similar mechanism that is portable to all Servlet 2.3
>            containers, check out the "RequestDumperFilter" Filter in the
>            example application (the source for this filter may be found in
>            "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
>
>            Request dumping is disabled by default.  Uncomment the
following
>            element to enable it. -->
>       <!--
>       <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
>       -->
>
>       <!-- Global logger unless overridden at lower levels -->
>       <Logger className="org.apache.catalina.logger.FileLogger"
>               prefix="catalina_log." suffix=".txt"
>               timestamp="true"/>
>
>       <!-- Because this Realm is here, an instance will be shared
globally -->
>
>       <!--Realm className="org.apache.catalina.realm.MemoryRealm" /-->
>
>       <Realm className="wrappers.catalina.SlideRealm" />
>
>       <!-- Replace the above Realm with one of the following to get a
Realm
>            stored in a database and accessed via JDBC -->
>
>       <!--
>       <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
>              driverName="org.gjt.mm.mysql.Driver"
>
connectionURL="jdbc:mysql://localhost/authority?user=test;password=test"
>               userTable="users" userNameCol="user_name"
userCredCol="user_pass"
>           userRoleTable="user_roles" roleNameCol="role_name" />
>       -->
>
>       <!--
>       <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
>              driverName="oracle.jdbc.driver.OracleDriver"
>
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL?user=scott;password=tige
r"
>               userTable="users" userNameCol="user_name"
userCredCol="user_pass"
>           userRoleTable="user_roles" roleNameCol="role_name" />
>       -->
>
>       <!--
>       <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
>              driverName="sun.jdbc.odbc.JdbcOdbcDriver"
>           connectionURL="jdbc:odbc:CATALINA"
>               userTable="users" userNameCol="user_name"
userCredCol="user_pass"
>           userRoleTable="user_roles" roleNameCol="role_name" />
>       -->
>
>       <!-- Define the default virtual host -->
>       <Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true">
>
>         <!-- Normally, users must authenticate themselves to each web app
>              individually.  Uncomment the following entry if you would
like
>              a user to be authenticated the first time they encounter a
>              resource protected by a security constraint, and then have
that
>              user identity maintained across *all* web applications
contained
>              in this virtual host. -->
>         <!--
>         <Valve className="org.apache.catalina.authenticator.SingleSignOn"
>                    debug="0"/>
>         -->
>
>         <!-- Access log processes all requests for this virtual host.  By
>              default, log files are created in the "logs" directory
relative to
>              $CATALINA_HOME.  If you wish, you can specify a different
>              directory with the "directory" attribute.  Specify either a
relative
>              (to $CATALINA_HOME) or absolute path to the desired
directory.
>         -->
>         <Valve className="org.apache.catalina.valves.AccessLogValve"
>                  directory="logs"  prefix="localhost_access_log."
suffix=".txt"
>                  pattern="common"/>
>
>         <!-- Logger shared by all Contexts related to this virtual host.
By
>              default (when using FileLogger), log files are created in the
"logs"
>              directory relative to $CATALINA_HOME.  If you wish, you can
specify
>              a different directory with the "directory" attribute.
Specify either a
>              relative (to $CATALINA_HOME) or absolute path to the desired
>              directory.-->
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                  directory="logs"  prefix="localhost_log." suffix=".txt"
> 	        timestamp="true"/>
>
>         <!-- Define properties for each web application.  This is only
needed
>              if you want to set non-default properties, or have web
application
>              document roots in places other than the virtual host's
appBase
>              directory.  -->
>
>         <!-- Tomcat Root Context -->
>         <Context path="" docBase="ROOT" debug="0"/>
>
>
>
>         <!-- Here I am going to define context for slide for better
integration -->
>         <!-- wrappers.catalina.SlideRealm -->
>
>
>
>         <!-- Tomcat Manager Context -->
>         <Context path="/manager" docBase="manager"
>          debug="0" privileged="true"/>
>
>         <!-- Tomcat Examples Context -->
>         <Context path="/examples" docBase="examples" debug="0"
>                  reloadable="true">
>           <Logger className="org.apache.catalina.logger.FileLogger"
>                      prefix="localhost_examples_log." suffix=".txt"
>         	  timestamp="true"/>
>           <Ejb   name="ejb/EmplRecord" type="Entity"
>                  home="com.wombat.empl.EmployeeRecordHome"
>                remote="com.wombat.empl.EmployeeRecord"/>
>           <!-- PersistentManager: Uncomment the section below to test
Persistent
> 		       Sessions.
>
>                saveOnRestart: If true, all active sessions will be saved
>                  to the Store when Catalina is shutdown, regardless of
>                  other settings. All Sessions found in the Store will be
>                  loaded on startup. Sessions past their expiration are
>                  ignored in both cases.
>                maxActiveSessions: If 0 or greater, having too many active
>                  sessions will result in some being swapped out.
minIdleSwap
>                  limits this. -1 means unlimited sessions are allowed.
>                  0 means sessions will almost always be swapped out after
>                  use - this will be noticeably slow for your users.
>                minIdleSwap: Sessions must be idle for at least this long
>                  (in seconds) before they will be swapped out due to
>                maxActiveSessions. This avoids thrashing when the site is
>                  highly active. -1 or 0 means there is no minimum -
sessions
>                  can be swapped out at any time.
>                maxIdleSwap: Sessions will be swapped out if idle for this
>                  long (in seconds). If minIdleSwap is higher, then it will
>                  override this. This isn't exact: it is checked
periodically.
>                  -1 means sessions won't be swapped out for this reason,
>                  although they may be swapped out for maxActiveSessions.
>                  If set to >= 0, guarantees that all sessions found in the
>                  Store will be loaded on startup.
>                maxIdleBackup: Sessions will be backed up (saved to the
Store,
>                  but left in active memory) if idle for this long (in
seconds),
>                  and all sessions found in the Store will be loaded on
startup.
>                  If set to -1 sessions will not be backed up, 0 means they
>                  should be backed up shortly after being used.
>
>                To clear sessions from the Store, set maxActiveSessions,
maxIdleSwap,
>                and minIdleBackup all to -1, saveOnRestart to false, then
restart
>                Catalina.
>           -->
> 		  <!--
>           <Manager
className="org.apache.catalina.session.PersistentManager"
>               debug="0"
>               saveOnRestart="true"
>               maxActiveSessions="-1"
>               minIdleSwap="-1"
>               maxIdleSwap="-1"
>               maxIdleBackup="-1">
>                 <Store className="org.apache.catalina.session.FileStore"/>
>           </Manager>
> 		  -->
>           <Environment name="maxExemptions" type="java.lang.Integer"
>                       value="15"/>
>           <Parameter name="context.param.name" value="context.param.value"
>                      override="false"/>
>           <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
>                     type="javax.sql.DataSource"/>
>           <ResourceParams name="jdbc/EmployeeAppDb">
>             <parameter><name>user</name><value>sa</value></parameter>
>             <parameter><name>password</name><value></value></parameter>
>             <parameter><name>driverClassName</name>
>               <value>org.hsql.jdbcDriver</value></parameter>
>             <parameter><name>driverName</name>
>               <value>jdbc:HypersonicSQL:database</value></parameter>
>           </ResourceParams>
>           <Resource name="mail/Session" auth="Container"
>                     type="javax.mail.Session"/>
>           <ResourceParams name="mail/Session">
>             <parameter>
>               <name>mail.smtp.host</name>
>               <value>localhost</value>
>             </parameter>
>           </ResourceParams>
>         </Context>
>
>       </Host>
>
>     </Engine>
>
>   </Service>
>
>   <!-- ==========Here is another service to connect with
Apache=============== -->
>
>   <!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with Tomcat
4.0
>        as its servlet container. Please read the README.txt file coming
with
>        the WebApp Module distribution on how to build it.
>        (Or check out the "jakarta-tomcat-connectors/webapp" CVS
repository)
>
>        To configure the Apache side, you must ensure that you have the
>        "ServerName" and "Port" directives defined in "httpd.conf".  Then,
>        lines like these to the bottom of your "httpd.conf" file:
>
>          LoadModule webapp_module libexec/mod_webapp.so
>          WebAppConnection warpConnection warp localhost:8008
>          WebAppDeploy examples warpConnection /examples/
>
>        The next time you restart Apache (after restarting Tomcat, if
needed)
>        the connection will be established, and all applications you make
>        visible via "WebAppDeploy" directives can be accessed through
Apache.
>   -->
>
>   <!-- Define an Apache-Connector Service WARP connector-->
>   <Service name="Tomcat-Apache">
>
>     <Connector
className="org.apache.catalina.connector.warp.WarpConnector"
>      port="8008" minProcessors="5" maxProcessors="75"
>      enableLookups="true"
>      acceptCount="10" debug="0"/>
>
>     <!-- Replace "localhost" with what your Apache "ServerName" is set
to -->
>     <Engine className="org.apache.catalina.connector.warp.WarpEngine"
>      name="Apache" debug="0" appBase="webapps">
>
>       <!-- Global logger unless overridden at lower levels -->
>       <Logger className="org.apache.catalina.logger.FileLogger"
>               prefix="apache_log." suffix=".txt"
>               timestamp="true"/>
>
>       <!-- Because this Realm is here, an instance will be shared
globally -->
>       <!--Realm className="org.apache.catalina.realm.MemoryRealm" /-->
>       <Realm className="wrappers.catalina.SlideRealm" />
>
>     </Engine>
>
>   </Service>
>
> </Server
>
>>
>>------------------------------------------------------------------------
>>
>><?xml version="1.0"?>
>>
>><slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="7"
default="slide">
>>
>><!--
>>logger
>>~~~~~~
>>org.apache.slide.util.logger.SimpleLogger
>>   default logger with 1 log level
>>log4j.Log4jLogger
>>   logger with fine granularity
>>   see http://jakarta.apache.org/log4j/
>>
>>logger-level
>>~~~~~~~~~~~~
>>0 EMERGENCY
>>1 CRITICAL
>>2 ERROR
>>4 WARNING
>>6 INFO
>>7 DEBUG
>>-->
>>
>>  <namespace name="slide">
>><!-- ### Memory Configuration ###
>>     The following memory configuration uses the MemoryDescriptorsStore
>>     for node,security,locks and revisions. For content the
FileContentStore
>>     is used. Content is reset before start.
>>-->
>>    <definition>
>>      <store name="memory">
>>        <nodestore
classname="slidestore.reference.MemoryDescriptorsStore">
>>        </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.FileContentStore">
>>          <parameter name="rootpath">contentstore</parameter>
>>          <parameter name="version">false</parameter>
>>          <parameter name="resetBeforeStarting">true</parameter>
>>        </contentstore>
>>      </store>
>>      <scope match="/" store="memory" />
>>    </definition>
>>
>>
>><!-- ### JDBC Configuration ###
>>     The following jdbc sample configuration uses the hsql Database Engine
>>     a relational database engine written in Java, for more info:
>>     http://hsqldb.sourceforge.net/
>>-->
>><!--
>>    <definition>
>>      <store name="jdbc">
>>        <nodestore classname="slidestore.reference.JDBCDescriptorsStore">
>>         <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
>>         <parameter name="url">jdbc:hsqldb:slidestructure</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.hsqldb.jdbcDriver</parameter>
>>         <parameter name="url">jdbc:hsqldb:slidecontent</parameter>
>>         <parameter name="user">sa</parameter>
>>         <parameter name="password"></parameter>
>>        </contentstore>
>>      </store>
>>      <scope match="/" store="jdbc" />
>>    </definition>
>>-->
>>
>><!-- ### Mixed JDBC - Filesystem ###
>>     stores: slidestore.reference.JDBCDescriptorsStore
>>             slidestore.reference.FileContentStore
>>     !!! set resetBeforeStarting parameter for FileContentStore to false
!!!
>>-->
>>
>><!-- ### Cloudscape configuration (embedded database) ###
>>     stores: slidestore.cloudscape.CloudscapeDescriptorsStore
>>             slidestore.cloudscape.CloudscapeContentStore
>>     driver: COM.cloudscape.core.JDBCDriver
>>     url:    jdbc:cloudscape:slidestructure;create=true
>>             jdbc:cloudscape:slidecontent;create=true
>>-->
>>
>><!-- ### Oracle configuration (thin driver) ###
>>     stores: slidestore.reference.JDBCDescriptorsStore
>>             slidestore.oracle.OracleContentStore
>>     driver: oracle.jdbc.OracleDriver
>>     url:    jdbc:oracle:thin:@localhost:1521:slide
>>-->
>>
>>    <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>true</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="/">
>>
>>        <!-- Subject can be:
>>                self  "~"
>>                all   "nobody"
>>                user  "/users/john"
>>                group "+/users/groupA"
>>                role  "root"
>>        -->
>>
>>        <!-- Uncomment the following line to give all permissions to
>>             principals have the root role -->
>>        <permission action="/actions" subject="root"/>
>>
>>        <permission action="/actions" subject="/users/root"/>
>>        <permission action="/actions/read" subject="/users"
>>         inheritable="false"/>
>>        <permission action="/actions/read" subject="nobody"
>>         inheritable="false"/>
>>
>>        <!-- /users -->
>>
>>        <objectnode classname="org.apache.slide.structure.SubjectNode"
>>         uri="/users">
>>
>>          <permission action="/actions" subject="~"/>
>>          <permission action="/actions" subject="/users/guest"
>>           inheritable="true" negative="true"/>
>>          <permission action="/actions/read" subject="/users"
>>           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>
>>
>><!--   AHM   -->
>>          <objectnode classname="slideroles.basic.RootRoleImpl"
>>           uri="/users/ahm">
>>            <revision>
>>              <property name="password">allfree</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">
>>
>>          <!-- ### Give read/write/manage permission to guest ###
>>               Uncomment the following line to give permission to do
>>               all actions on /files to guest (unauthenticated users) -->
>>          <!-- <permission action="/actions" subject="/users/guest"/> -->
>>
>>          <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>
>>
>>
>>------------------------------------------------------------------------
>>
>>--
>>To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
>>For additional commands, e-mail:
<ma...@jakarta.apache.org>
>>
>> server.xml
>>
>> Content-Type:
>>
>> text/xml
>> Content-Encoding:
>>
>> quoted-printable
>>
>>
>> ------------------------------------------------------------------------
>> Domain.xml
>>
>> Content-Type:
>>
>> text/xml
>> Content-Encoding:
>>
>> quoted-printable
>>
>>
>> ------------------------------------------------------------------------
>> Part 1.4
>>
>> Content-Type:
>>
>> text/plain
>>
>>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>