<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE jonas-realm PUBLIC
          "-//ObjectWeb//DTD JOnAS realm 1.0//EN"
          "http://www.objectweb.org/jonas/dtds/jonas-realm_1_0.dtd">

<!--
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - Define a jonas-realm.xml file for JOnAS realms
 -
 - $Id$
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 -->

<jonas-realm>


  <!--
       -=  MEMORY REALM =-
       Define the users, groups and roles
  -->

  <jonas-memoryrealm>

    <memoryrealm name="memrlm_1">
      <roles>
        <role name="jonas-admin" description="JonasAdmin role" />
        <role name="jonas-monitor" description="JonasMonitor role" />
        <role name="tomcat" description="Used in examples" />
        <role name="jetty" description="Used in examples" />
        <role name="role1" description="Role used in jonas tests" />
        <role name="role2" description="Role used in jonas tests" />
        <role name="administrator" description="Role used in petstore" />
        <role name="jaas" description="Role used in the jaasclient example" />
        <role name="earsample" description="Role used in the Java EE 5.0 EAR Sample" />
        <role name="ws-security" description="Role used in the ws/webendpoint example" />
        <role name="mejb-admin" description="Role allowing access to all operations of MEJB" />
        <role name="mejb-user" description="Role allowing access to read-only operations of MEJB" />
      </roles>

      <groups>
        <group name="jonas" roles="jonas-admin,tomcat,jaas,ws-security,earsample,mejb-admin" description="All authorization" />
      </groups>

      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!-- MD5 Encrypted password must be encoded using Base64                   -->
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <users>
        <user name="tomcat" password="tomcat" roles="tomcat,jonas-admin,manager" />
        <user name="jetty" password="jetty" roles="jetty" />
        <!-- Example of a crypt password : password for jadmin is : jonas -->
        <user name="jadmin" password="{MD5}nF3dVBB3NPfRgzWlJFwoaw==" roles="jonas-admin" />
        <user name="jps_admin" password="admin" roles="administrator" />
        <user name="supplier" password="supplier" roles="administrator" />
        <!-- Another crypt example in another format : password is jonas -->
        <!-- JonasAdmin uses name="jonas" password="jonas" -->
        <user name="jonas" password="SHA:NaLG+uYfgHeqth+qQBlyKr8FCTw=" groups="jonas" />
        <user name="monitor" password="SHA:NaLG+uYfgHeqth+qQBlyKr8FCTw=" roles="jonas-monitor" />
        <user name="principal1" password="password1" roles="role1" />
        <user name="principal2" password="password2" roles="role2" />
      </users>
    </memoryrealm>

  <!-- Other memoryrealm are possible
       the following use a encrypted password (here password = test)
  -->
  <!--
    <memoryrealm name="memrlm_2">
      <users>
        <user name="test" password="{MD5}CY9rzUYh03PK3k6DJie09g==" groups="test" />
        <user name="##DN##CN=whale, OU=ObjectWeb, O=JOnAS, L=JOnAS, ST=JOnAS, C=ORG" password="" roles="tomcat,jetty" />
      </users>
    </memoryrealm>
   -->

  </jonas-memoryrealm>

  <!--
       -=  DATASOURCE REALM =-
       Define the configuration to use data from a datasource.

  -->

  <!--
  <jonas-dsrealm>
    <dsrealm name="dsrlm_1"
             dsName="jdbc_1"
             userTable="realm_users" userTableUsernameCol="user_name" userTablePasswordCol="user_pass"
             roleTable="realm_roles" roleTableUsernameCol="user_name" roleTableRolenameCol="role_name"
             />

    <dsrealm name="dsrlm_2"
             dsName="jdbc_2"
             userTable="realm_users" userTableUsernameCol="user_name" userTablePasswordCol="user_pass"
             roleTable="realm_roles" roleTableUsernameCol="user_name" roleTableRolenameCol="role_name"
             />

  </jonas-dsrealm>

  -->

  <!--
       -=  LDAP REALM =-
       Define the configuration to use data from an ldap server.
       The first is a minimal example
       The second -> compare mode
           need to put the principal and credential of the ldap admin
  -->
  <!--
  <jonas-ldaprealm>
    <ldaprealm name="ldaprlm_1"
               baseDN="dc=jonas,dc=objectweb,dc=org"
               />


    <ldaprealm name="ldaprlm_2"
               securityPrincipal="cn=Admin,dc=jonas,dc=objectweb,dc=org"
               securityCredentials="JOnAS"
               baseDN="dc=jonas,dc=objectweb,dc=org"
               authenticationMode="compare"
               />

  </jonas-ldaprealm>
  -->

</jonas-realm>
