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 :
Merci d'avance .....
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
Partager