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

Sécurité Java Discussion :

jGuard XMLAuthenticationManager avec LDAP


Sujet :

Sécurité Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut jGuard XMLAuthenticationManager avec LDAP
    Bonjour!

    Je suis entrain d'étudier jGuard pour la sécurité de nos applis web. J'ai installé l'exemple avec Struts et ça fonctionne très bien (Il manquait juste le jar de log4j dans le war, mais c'est peut-être normal...).

    J'essaie maintenant d'intégrer la sécurité à notre architecture logicielle (JSF/POJO/Hibernate). Je veux que l'authentification passe par un registre LDAP (Active Diretory, mais pour mes tests, j'utilise OpenLDAP). La web app est déployée sur un serveur d'applications WebShpere v6.1.0.

    Pour le moment, je n'ai qu'une seule question (je suis sûr que d'autres arriveront ). Puisque j'utilise un serveur LDAP pour l'authentification, j'ai configuré jGuard (jGuardFilter.xml, etc...), et mes modules de connexion dans jGuardAuthentication.xml.
    Je comprends que j'ai besoin du fichier de config jGuardUsersPrincipals.xml pour définir les principals. Mais je n'ai pas besoin d'avoir les utilisateurs là dedans puisqu'ils sont dans LDAP. Est-ce que je peux simplement effacer cette partie du document? Ou au moins les mots de passe et les 'public credentials' puisque j'ai besoin du mapping des utilisateurs sur les principals.

    Dans mon cas, est-ce que mon document jGuardUsersPrincipals.xml pourrait ressembler à ceci?

    Code xml : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?xml version="1.0" encoding="UTF-8" standalone="no"?> 
    <!DOCTYPE usersPrincipals SYSTEM "jGuardUsersPrincipals_1.00.dtd"> 
    <usersPrincipals> 
    <principals> 
    <principal> 
    <name>admin</name> 
    <class>net.sf.jguard.core.principals.RolePrincipal</class> 
    <applicationName>isweb</applicationName> 
    </principal> 
    <principal> 
    <name>guest</name> 
    <class>net.sf.jguard.core.principals.RolePrincipal</class> 
    <applicationName>isweb</applicationName> 
    </principal> 
    <principal> 
    <name>customer</name> 
    <class>net.sf.jguard.core.principals.RolePrincipal</class> 
    <applicationName>anotherApplication</applicationName> 
    </principal> 
    </principals> 
    <users> 
    <userTemplate> 
    <name>default</name> 
    <privateRequiredCredentials> 
    <credTemplateId identity="true">login</credTemplateId> 
    </privateRequiredCredentials> 
    <genericPrincipals> 
    <principalRef name="admin" applicationName="isweb"/> 
    <principalRef name="customer" applicationName="anotherApplication"/> 
    </genericPrincipals> 
    <specificPrincipalFactories/> 
    </userTemplate> 
    <user> 
    <privateCredentials> 
    <credential> 
    <id>login</id> 
    <value>admin</value> 
    </credential> 
    </privateCredentials> 
     
    <principalsRef> 
    <principalRef name="admin" applicationName="isweb" active="true"/> 
    <principalRef name="customer" applicationName="anotherApplication" active="false" /> 
    </principalsRef> 
    </user> 
    <user> 
    <privateCredentials> 
    <credential> 
    <id>login</id> 
    <value>guest</value> 
    </credential> 
    </privateCredentials> 
    <principalsRef> 
    <principalRef name="guest" applicationName="isweb" /> 
    </principalsRef> 
    </user> 
    </users> 
    </usersPrincipals>

    J'ai déjà une autre question...
    Comment puis-je extraire de l'info de LDAP (comme le nom de l'utilisateur, ...) et le stoquer sur le sujet (Subject), dans les 'public credentials' je devine.

    Merci d'avance de votre aide!
    Neil.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    J'ai eu la réponse sur le forum jGuard de Sourceforge

    Il faut laisser le fichier jGuardUsersPrincipals telle quelle, mais si l'authentification se fait via LDAP, les mots de passes ne doivent pas être spécifiés.
    Il faut donc cumuler 2 login modules, un JNDILoginModule pour l'authentification à proprement parler et un autre (XMLLoginModule ou un JDBCLoginModule) pour l'attribution des Principals.

    Je n'ai pas encore eu l'occasion de le tester, mais une fois que ça fonctionnera, je referai un post au cas où ça intéresse quelqu'un.

    Bonne journée
    Neil.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/09/2009, 17h27
  2. [LDAP] authentification domaine avec LDAP
    Par Thylia dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/07/2006, 16h59
  3. auth apache avec ldap et php
    Par InDaWinD dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2006, 13h09
  4. Requetes Lentes avec LDAP
    Par ripou dans le forum Développement
    Réponses: 1
    Dernier message: 13/12/2005, 18h49
  5. Validation User/Mdp avec LDAP
    Par Katyucha dans le forum Réseau
    Réponses: 2
    Dernier message: 02/12/2004, 13h51

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