Bonjour à tous ,

J'ai quelques soucis concernant VB et Active Directory :
Tout d'abord, j'ai crée un formulaire d'authentification pour sécuriser mon application. L'utilisateur doit alors s'identifier avant de pouvoir accéder à mon application. Je commence alors par me connecter (LDAP) et j'effectue une recherche Active Directory qui ne fonctionne pas ! En faite, j'aimerais récupérer les groupes dans lequel l'utilisateur figure et SI le groupe = "Admin_AII" ALORS .... SINON ....

Si quelqu'un connait des sources à ce sujet (j'ai déjà lu le cours de Thomas Lebrun...) ou peut m'éclairer ça serait vraiment cool

Voici mon code :

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
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
    Public Sub rechercheGroupeAuth()
        Dim group As String
        Dim Ldap As DirectoryEntry
 
        '************CONNEXION LDAP *******************'
        'Connexion LDAP avec les entrées utilisateur'
        Ldap = New DirectoryEntry("LDAP://...", Me.UsernameTextBox.Text, Me.PasswordTextBox.Text)
        Try
            Dim connect As Object = Ldap.NativeObject
            'Affichage des erreurs windows à l'utilisateur'
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        End Try
 
        ' ********* Recherche des groupes sur active directory *********'
        Dim searcher As DirectorySearcher = New DirectorySearcher(Ldap)
        'On cherche les groupes d'active directory dans le domaine de l'utilisateur contenu dans Ldap'
        searcher.Filter = "(objectClass=group)"
        Try
            '** Recherche de tous les groupes avec la fonction FindAll() **'
            For Each result As SearchResult In searcher.FindAll
                '** Récupération des groupes recherchés **'
                Dim DirEntry As DirectoryEntry = result.GetDirectoryEntry
                '** group contient tous les groupes trouvés sur active directory **'
                If Not (DirEntry.Properties("cn").Value Is Nothing) Then
                    group = DirEntry.Properties("cn").Value.ToString()
                Else
                    group = String.Empty
                End If
                '** Si l'utilisateur fait partie du groupe admin_AII alors ouverture appli **'
                If group = "ADMIN_AII" Then
                    Fond.BPLocauxCreation.Visible = False
                    Fond.MessageAvertissement.Visible = True
                    Fond.BPMaterielCreation.Visible = False
                    Fond.BPProgCreation.Visible = False
                    Fond.CBLocauxCreation.Visible = False
                    Fond.CBMaterielCreation.Visible = False
                    Fond.CBProgCreation.Visible = False
                Else
                    Fond.MessageAvertissement.Visible = False
                    Fond.BPLocauxCreation.Visible = True
                    Fond.BPMaterielCreation.Visible = True
                    Fond.BPProgCreation.Visible = True
                    Fond.CBLocauxCreation.Visible = True
                    Fond.CBMaterielCreation.Visible = True
                    Fond.CBProgCreation.Visible = True
                End If
            Next
            '** Affichage des erreurs Windows**'
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        End Try
        '** Libère les ressources
        ' Ldap.Close()
        ' Ldap.Dispose()
    End Sub
Merci d'avance .....