installation de jGuard dans j2ee

  1. Librairies requises
  2. AccessFilter et web.xml
  3. Integrer jGuard dans vos jsp
  4. Integrer jGuard dans vos servlets

Login Modules

Authorization Managers

jGuard avancé

installation de jGuard sur la jvm

  1. java.home
  2. librairies et bootclasspath
  3. java.security
  4. jGuard.loginScheme
  5. jGuard.policy








XmlAuthorizationManager

Les implémentations de AuthorizationManager sont dédiées au développeur d'applications web. Cette implémentation de AuthorizationManager permet de mettre en place des autorisations basées sur des fichiers XML.

1. Paramètres de XmlAuthorizationManager

La DTD correspondante (jGuardPrincipalsPermissions_x.xx.dtd), doit être dans le même répertoire.

2. structure de jGuardPrincipalsPermissions.xml

Le fichier jGuardPrincipalsPermissions.xml contient les données d'autorisation:

les permissions

La première partie du fichier (<permissions>) contient les déclarations des permissions. Les permissions sont regroupées en domaines (<domain>). Une permission (<permission>) contient :

Le champ motif est une expression régulière; donc ce motif peut "couvrir" des ressources multiples. Quand un utilisateur veut atteindre une ressource, l'url demandée par lui sera vérifiée avec l'expression régulière. Si le motif correspond avec la ressource demandée, l'accès sera autorisé. Sinon, l'accès à cette ressource sera refusé.

les principals

La seconde partie du fichier (<principals>) contient les déclarations de principals (ou les rôles, deux mots pour la même signification). Chaque principal (<principal>) a:


3. exemple de jGuardPrincipalsPermissions

   <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
   <!DOCTYPE configuration SYSTEM "jGuardPrincipalsPermissions_0.64.dtd">
    <configuration>
       <permissions>
           <schemes>
             <scheme>
               <name>http</name>
               <default>true</default>
             </scheme>
             <scheme>
               <name>https</name>
               <default>false</default>
             </scheme>
           </schemes>
           <domains>
            <domain>
                <name>public</name>
                  <permission>
                      <name>accessDenied</name>
                    <description>ressource where you are redirected when access to another ressource is denied</description>
                      <pattern>/jGuardExample/AccessDenied.do</pattern>
                    <parameters/>
                  </permission>

                  <permission>
                    <name>accueil</name>
                    <description></description>
                      <pattern>/jGuardExample/Welcome.do</pattern>
                    <parameters/>
                  </permission>
             </domain>

             <domain>
              <name>vip</name>
                  <permission>
                    <name>allAccess</name>
                    <description>full access to any ressource</description>
                      <pattern>/jGuardExample/</pattern>
                    <parameters/>
                    <schemeRef>http</schemeRef>
                  </permission>
              </domain>
               </domains>
       </permissions>

     <principals>
         <principal>
           <name>guest</name>
           <applicationName>jGuardExample</applicationName>
           <permissionsRef>
             <permissionRef name="accessDenied"/>
             <permissionRef name="accueil"/>
           </permissionsRef>
         </principal>

         <principal>
           <name>other</name>
           <applicationName>jGuardExample</applicationName>
           <permissionsRef/>
         </principal>

         <principal>
           <name>admin</name>
           <applicationName>jGuardExample</applicationName>
           <permissionsRef>
             <domainRef name="public"/>
             <domainRef name="vip"/>
           </permissionsRef>
         </principal>
   </principals>

</configuration>