bonjour

j'ai 2 ldap, pour 2 populations différentes :

- le premier LDAP est dit externe, car il a l'ensemble des utilisateurs externes de mon site
- le deuxième LDAP est dit interne car il a l'ensemble des utilisateurs internes de mon site

je ne vois que le LDAP externe et par une relation d'approbation je vérifie que l'utilisateur interne peut accéder à notre application.

je voudrais que grâce à cette relation d'approbation , je puisse aussi récupérer quelques informations supplémentaire type nom , prénom.

voici mon code en powershell qui marche mais la transcription en java me marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$username = " G640929"
 $searcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]"LDAPS:// wwsvapadcprd08.external.dmz/dc=jeff,dc=local")
 $searcher.filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=$username))"
 $user = $searcher.FindOne().GetDirectoryEntry()
 Write-Output $($user.DistinguishedName)
voici la version java qui ne marche pas .....

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
// Create the search controls
        final SearchControls searchCtls = new SearchControls();
        // Specify the attributes to return
        final String[] returnedAtts = { "DistinguishedName" };
        searchCtls.setReturningAttributes(returnedAtts);
        // Specify the search scope
        searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);

         final String pLdapBaseNameGroup2 = "DC=jeff,DC=local";
         final String username = "G640929";
         final String searchFilter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=" + username + "))";

        // Search for objects using the filter
        @SuppressWarnings("rawtypes")
        final NamingEnumeration answer = pCtx.search(pLdapBaseNameGroup2, searchFilter, searchCtls);
cela ne fonctionne pas, pouvez-vous m'aider.

merci

cdt