IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

TOMCAT 7 - Problème de Mapping groupes Active Directory et rôles Web.xml


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut TOMCAT 7 - Problème de Mapping groupes Active Directory et rôles Web.xml
    Bonjour,
    Je veux migrer mes applications IBM WAS ( Websphere Applications Servers ) sous Tomcat 7.
    J'utilise l'authentification AD pour accéder à mes applications via le mécanisme de mappage rôle/groupe.
    Sous WAS, lors de l'installation de l'application, il suffit de mapper les rôles définis dans le fichier web.xml avec les groupes AD.

    Exemple pour un environnement de production :
    - le rôle TEL_EXAD est mappé avec le groupe TEL_EXAD
    - le rôlé TE_EXAD_FAI est mappé avec le groupe TEL_EXAD_FAI
    - etc...

    Exemple pour un environnement de qualification :
    - le rôle TEL_EXAD est mappé avec le groupe TEL_EXAD_QUL
    - le rôlé TE_EXAD_FAI est mappé avec le groupe TEL_EXAD_FAI_QUL
    - etc...

    Avec WAS, cela fonctionne sans problème, le même .war peut-être déployé aussi bien sur un environnement de production que de qualification.

    J'ai essayé de reproduire le même mécanisme avec Tomcat, mais sans succés.
    Comment configurer Tomcat pour obtenir le même résultat qu'avec WAS ?
    Important : Je voudrais faire cela sans avoir à toucher au fichier web.xml du .war que je déploie.

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Dans Tomcat, pour te connecter à un AD, tu as 3 possibilités :

    * en LDAP, avec le JNDI realm
    * en Kerberos, avec le JAAS Realm + Krb5LoginModule : chiant à debugger
    * en Kerberos, avec Waffle : nécessite que Tomcat soit sur un serveur Windows

    Du moins ce sont les 3 techniques que je connais.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'utilise LDAP avec le JNDI Realm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
      <Realm
                    className="org.apache.catalina.realm.JNDIRealm"
                    connectionURL="ldap://ldap.domaine:389"
                    connectionName="user_qul"
                    connectionPassword="password"
                    adcompat="true"
                    referrals="follow"
                    userBase="DC=domaine,DC=com"
                    userSearch="(sAMAccountName={0})"
                    userSubtree="true"
                    userRoleName="memberOf"
                    roleBase="DC=domaine,DC=com"
                    roleName="cn"
                    roleSearch="(member={0})"
                    roleSubtree="true"
                    roleNested="true"
                    />

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide.

    J'utilise LDAP avec le JNDI Realm, et lorsque je me connecte avec un user de l'environnement de production qui est dans le groupe LDAP "TEL_EXAD", je ne rencontre pas de problème.
    Mais si j'utilise un user de l'environnement de qualification ( user_qul ) qui est dans le groupe LDAP "TEL_EXAD_QUL", ça ne fonctionne pas et j'ai un message d'erreur dans catalina.out :

    PRÉCIS: Le nom d'utilisateur user_qul N'A PAS de rôle TEL_EXAD

    J'ai essayé en rajoutant dans le web.xml de l'application du mapping sur les roles, mais ça ne marche pas mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <security-role>
        <role-name>TEL_EXAD</role-name>
      </security-role>
      <security-role-mapping>
        <role-name>TEL_EXAD</role-name>
        <group-name>TEL_EXAD_QUL</group-name>
      </security-role-mapping>
    J'ai également essayé le link, mais idem

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <servlet>
        <security-role-ref>
            <role-name>TEL_EXAD_QUL</role-name>
            <role-link>TEL_EXAD</role-link>
        </security-role-ref>
      </servlet>
     
      <security-role>
        <role-name>TEL_EXAD</role-name>
      </security-role>
    Comment configurer Tomcat pour faire correspondre un groupe LDAP "X" avec un role "Y" ?

  5. #5
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    A ma connaissance, <security-role-mapping> n'existe pas dans web.xml. Je ne le vois pas dans le xsd.

    Pour <security-role-ref>, je n'ai pas testé avec le JNDIRealm, mais avec d'autres realms, c'est bien pris en compte quand je fais request.isUserInRole(...).

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2009, 22h06
  2. Lister les membres d'un groupe active directory
    Par Ludo75 dans le forum VBScript
    Réponses: 1
    Dernier message: 18/06/2008, 18h08
  3. [Sharepoint 2007] Groupes Active Directory introuvable
    Par Enthau dans le forum SharePoint
    Réponses: 2
    Dernier message: 21/04/2008, 17h14
  4. Réponses: 0
    Dernier message: 19/03/2008, 20h24
  5. Réponses: 6
    Dernier message: 27/06/2007, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo