J'ai installé un domaine de sécurité dans Glassfish pour m'authentifier auprès d'un serveur Active Directory. La configuration du royaume est la suivante:Domaine de sécurité GlassFish, Active Directory et référence
Class Name: com.sun.enterprise.security.auth.realm.ldap.LDAPRealm
JAAS context: ldapRealm
Directory: ldap://172.16.76.10:389/
Base DN: dc=smallbusiness,dc=local
search-filter: (&(objectClass=user)(sAMAccountName=%s))
group-search-filter: (&(objectClass=group)(member=%d))
search-bind-dn: cN=Administrator,CN=Users,dc=smallbusiness,dc=local
search-bind-password: abcd1234!
Le royaume est fonctionnel et je peux vous identifier, mais chaque fois que je me connecte j'obtenir l'erreur suivante dans le journal:
SEC1106: Error during LDAP search with filter [(&(objectClass=group)(member=CN=Administrator,CN=Users,dc=smallbusiness,dc=local))].
SEC1000: Caught exception.
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=smallbusiness,dc=local'
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
....
....
ldaplm.searcherror
Bien que En cherchant une solution, j'ai trouvé qu'il était recommandé d'ajouter java.naming.referral=follow
aux propriétés du domaine. Cependant, après avoir ajouté ceci, il faut 20 minutes à GlassFish pour s'authentifier auprès d'Active Directory. Je suspecte que c'est un problème de DNS sur le serveur d'Active Directory. Le serveur Active Directory est une installation de Windows Server 2003 dans une machine virtuelle.
Toute aide/recommandation est fortement appréciée!