Bonjour,
Je travaille sur les versions 2.6.5 de jboss portal et 4.2.2 de jboss.
Mon serveur est connecté à un annuaire LDAP.
Niveau sécurité, j'utilise Kerberos dans tout mon environnement.
J'ai réglé l'authentification kerbérisé en passant par Apache + Mod_Jk.
Mon problème est de faire communiquer jboss/jboss Portal et mon LDAP kerbérisé. Tout fonctionne sur un LDAP non kerbérisé.
Je suis parti sur une solution ou je modifie les sources du module portal-identity-lib.
J'arrive à un point où je configure 2 modules de login.
- com.security.auth.module.Krb5LoginModule (afin de créer un loginContext jaas avec Kerberos)
- mon propre Login Module qui me permet de récupérer les rôles dans le LDAP via GSSAPI.
Ma configuration est la suivante dans mon login-module.xml du jboss portal
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
19
20
21
22
23
24
25
26
27
28
29
30
31 <application-policy name="other"> <authentication> <login-module code = "com.sun.security.auth.module.Krb5LoginModule" flag = "required"> <module-option name = "debug">true</module-option> <!-- nom complet serveur kerberos et royaune --> <module-option name = "kdc">xxxxx.xx.fr</module-option> <module-option name = "realm">REALM.KRB</module-option> <module-option name = "useTicketCache">true</module-option> <module-option name = "doNotPrompt">true</module-option> </login-module> <login-module code = "org.jboss.portal.identity.auth.Krb5LdapLoginModuleImpl" flag = "required"> <!-- nom complet serveur ldap --> <module-option name = "ldapServer">ldap://xxxx.xx.fr:389</module-option> <module-option name = "debug">true</module-option> <module-option name="unauthenticatedIdentity">guest</module-option> <module-option name="userModuleJNDIName">java:/portal/UserModule</module-option> <module-option name="roleModuleJNDIName">java:/portal/RoleModule</module-option> <module-option name="userProfileModuleJNDIName">java:/portal/UserProfileModule</module-option> <module-option name="membershipModuleJNDIName">java:/portal/MembershipModule</module-option> <module-option name="additionalRole">Authenticated</module-option> <module-option name="password-stacking">useFirstPass</module-option> </login-module> </authentication> </application-policy>
Lorsque je me connecte, j'ai bien les traces propres au module jaas me disant qu'il récupère le TGT du cache.
Par contre, ce contexte ne se propage pas lors de l'utilisation de l'autre module. Et mes requêtes JNDI avec une authentification GSSAPI m'indiquent l'erreur suivante:
Vous auriez des idées pour faire correspondre mes 2 login module ?Failed to find any Kerberos tgt
Merci d'avance
Partager