-
jGuard et LDAP
Bonjour,
Je cherche à configurer jGuard pour faire de l'authentification avec un annuaire LDAP. J'ai trouvé à differents endroits des informations assez contradictoires. Quelqu'un a il déjà réussi à faire de l'autehntification avec le JNDILoginModule de jGuard ou celui de Sun. Si oui, avez vous des exemples de fichier de configuration jGuardConfiguration.xml à fournir ici. J'avoue ne pas comprendre quels sont les options à passer dans les loginModuleOptions et ce qu'elles doivent contenir.
On trouve sur le wiki un tableau des options à passer au JNDILoginModule qui semblent ne pas correspondre tout à fait à celle attendues dans le fichier source JNDILoginModule.java (en version 0.8 et ultérieures inchangées). Ce tableau ne présente pas d'exemple comme dans celui du JDBCLoginModule.
Je pourait certe attendre la beta 2 de la 1.0 qui devrait implémenter un LDAPLoginModule mais en attendant, j'aimerai faire le boulot avec le JNDILoginModule (jGuard ou sun) sans quoi, je serais sans doute obligé de quitter jGuard pour revenir à une authentification classique.
En bref, "oscour";)
Franck
-
bonjour,
la version beta2 qui répondra à tes besoins est prévue pour dans une semaine maximum.
as-tu des besoins particuliers concernant l'authentification sur un annuaire LDAP?(genre une pré-requête pour trouver le DN correspondant au login du user à authentifier).
quel est ton annuaire LDAP?(openLDAP, activeDirecotry, openDS...).
cette fonctionnalité est ma première priorité actuellement pour jGuard.
amicalement,
Charles GAY.
http://www.jguard.net
-
Bonjour,
Je pense avoir en parti répondu à mes questions.
En fait, mon application est prévue pour se connecter à tout type d'annuaire LDAP avec plusieurs niveaux de couplages.
Niveau 1, on authentifie l'utilisateur avec le couple login/password de l'annuaire seulement. Comme je ne maitrise pas les groupes de l'annuaire, j'ai dans un premier temps surchargé commit (dans une classe qui herite de JNDILoginModule) pour aller chercher dans ma base de données les informations de groupe associé au login. Cela me permet d'assurer l'unicité du login password sans connaissance de la structure propre de l'annuaire.
Niveau 2, on connait les groupes d'utilisateurs (ils sont correctement mis à jour par l'administrateur) auquel cas il est possible d'avoir une connexion complète à l'annuaire comme le propose ton JNDILoginModule.
Mon problème était de comprendre les paramètre à passer dans le fichier de config. A ce stade, je ne saisis pas encore la façon de récupérer le groupe avec le commit de ton JNDILoginModule. Cela vient peut-être de la structure de mon annuaire. Pourais-tu mettre en ligne un bout de LDIF et des exemples de paramètres dans le tableau de description du JNDILoginModule.
Sinon, j'ai adopté définitivement jGuard. C'est une bonne façon de conserver l'indépendance de mon produit vis à vis des infrastructures sur lesquelles il se déploi. Il sera sans doute en prod dans un mois environ.
Je suis interressé pour découvrir dynamiquement les DN dont tu parles. Ce serait un plus, même si au final, cette information peut être obtenue auprès du client. (cela nécessite cependant un paramétrage que tu proposes de supprimer!).
Sinon, en interne, j'utilise ApacheDS et JXplorer pour mes dev.
Dernière question, je constate une augmentation constante de la consomation de mémoire dans JBoss depuis que je suis passé dans jGuard.
Quel est le rôle de la lib jGuard-jvm-0.80.1.jar installée dans le rep lib de JBoss. Peut-elle introduire des fuites de mémoire (pb de GC?)
Amicalement
-
concernant jguard-jvm, son rôle est de gérer l'indépendance des configurations de sécurité de chaque webapp.
elle est, pour des raisons de classloaders, partagées entre plusieurs webapps.
concernant cette augmentation de mémoire, cela m'étonne un peu.
si tu as plus d'éléments, je pourrais enquêter dessus.
pour info, on souhaite enfin livrer la version finale de la 1.0 très bientôt (après la beta 2 qui sortira la semaine prochaine).
beaucoup d'améliorations sont inclues.
par contre, cela, imlpique quelques changnements de configuration.
si le temps nous le permet (nous voulons que la 1.0 finale sorte bientôt), nous proposerons dans celle-ci nu mode qui permettra d'éviter d'utiliser des libraries partagées.
le seul désavantage sera dde ne pas pouvoir bénéficier de fonctionnalités assez avancées, rarement utilisées.
amicalement,
Charles GAY.
http://www.jguard.net