ci-dessous est une méthode utilisée pour vérifier si les Creds entrés sont bonnes. Je voudrais également ajouter à cela pour voir si elles font partie du groupe "XXX". Et ci-dessous j'ai essayé de jouer avec des trucs que j'ai trouvés sur la pile mais je n'ai pas beaucoup de chance. comment puis-je utiliser la méthode existante et y ajouter pour obtenir mes résultats?vérifier les informations d'identification de connexion pour voir si elles sont valides dans Active Directory et vérifier si elles sont en dehors d'un groupe spécifique dans AD
Public Function IsInGroup(ByVal UserName As String) As Boolean
'Dim MyIdentity As System.Security.Principal.WindowsIdentity = New WindowsPrincipal(New WindowsIdentity(UserName)) ' System.Security.Principal.WindowsIdentity.GetCurrent()
'Dim userPrincipal = New WindowsPrincipal(New WindowsIdentity(Username))
Dim MyPrincipal As System.Security.Principal.WindowsPrincipal = New WindowsPrincipal(New WindowsIdentity(UserName)) 'New System.Security.Principal.WindowsPrincipal(userPrincipal)
Return MyPrincipal.IsInRole("XXX_YYY")
End Function
Également essayé de faire quelque chose comme ceci mais obtenant l'erreur que j'ai screenshotted.
Public Function IsInGroup(ByVal UserName As String) As Boolean
Dim Result As Boolean
Dim de As New DirectoryEntry("LDAP://AD")
Dim MemberSearcher As New DirectorySearcher
With MemberSearcher
.SearchRoot = de
.Filter = "(&(ObjectClass=Group)(CN=VAL_ITS))"
.PropertiesToLoad.Add("Member")
End With
Dim mySearchResults As SearchResult = MemberSearcher.FindOne()
For Each User In mySearchResults.Properties("Member")
If User = UserName Then
Result = True
Else
Result = False
End If
Next
Return Result
End Function
Im System.DirectoryServices importation, mais je ne suis pas obtenir "PrincipalContext" pour se définir. et il ne reconnaît pas AccountManagement – Gio
Ajouter une référence à System.DirectoryServices.AccountManagement, puis Imports System.DirectoryServices.AccountManagement – TonyW