2012-10-04 3 views
3

J'utilise vb.net et je souhaite vérifier si un utilisateur particulier existe dans Active Directory. Si c'est le cas, je veux afficher les détails de l'utilisateur particulier. Comment faire?Vérifiez si l'utilisateur existe dans Active Directory

informations de connexion de l'utilisateur sont passés via le contrôle de zone de texte

Mon code:

Dim de As DirectoryEntry = GetDirectoryEntry() 
Dim ds As DirectorySearcher = New DirectorySearcher(de) 
    ds.Filter = "(&(objectClass=txt1.text))" 

    ' Use the FindAll method to return objects to SearchResultCollection. 
    results = ds.FindAll() 

Public Shared Function GetDirectoryEntry() As DirectoryEntry 
    Dim dirEntry As DirectoryEntry = New DirectoryEntry() 
    dirEntry.Path = "LDAP://ss.in:389/CN=Schema,CN=Configuration,DC=ss,DC=in" 
    dirEntry.Username = "ss.in\ssldap" 
    dirEntry.Password = "[email protected]" 
    'Dim searcher As New DirectorySearcher 
    'searcher.SearchRoot = dirEntry 
    Return dirEntry 
End Function 

Là où je passe le mot de passe. Ce code est-il correct? Je suis nouveau à AD. Pls m'aider à faire ça?

Répondre

5

Si vous utilisez .NET 3.5 et versions ultérieures, vous devez consulter l'espace de noms System.DirectoryServices.AccountManagement (S.DS.AM). À lire ici:

Fondamentalement, vous pouvez définir un contexte de domaine et de trouver facilement les utilisateurs et/ou groupes AD:

// set up domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// find a user 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName"); 

if(user != null) 
{ 
    // your user exists - do something here....  
} 
else 
{ 
    // your user in question does *not* exist - do something else.... 
} 

Ou dans VB.NET:

' set up domain context 
Dim ctx As New PrincipalContext(ContextType.Domain) 

' find a user 
Dim user As UserPrincipal = UserPrincipal.FindByIdentity(ctx, "SomeUserName") 

If user IsNot Nothing Then 
    ' your user exists - do something here....    
Else 
    ' your user in question does *not* exist - do something else.... 
End If 

Le nouveau S.DS.AM rend vraiment facile de jouer avec les utilisateurs et les groupes dans AD!

+0

ok merci beaucoup. Je vais essayer de répondre à ce dernier – vps

+0

est-ce que j'inclut anynamespace dans aspx.vb page – vps

+0

où dois-je passer les arguments de domaine @marc_s – vps