2016-04-08 22 views
0

Ldap üzerinden AD'ye bağlanan bir işlevi uygulamak istiyorum.Ldap aracılığıyla AD'ye bağlanmayı deneyin

Kodum: Bu çalışıyor

public bool TryConnect(string server, string userName, string password) 
{ 
    try 
    { 
     var credentials = new NetworkCredential(@"test\administrator123", @"P2ssw0rd"); 
     var ldapidentifier = new LdapDirectoryIdentifier("Test"); 

     using (var ldapconn = new LdapConnection(ldapidentifier, credentials)) 
     { 
      ldapconn.AuthType = AuthType.Basic; 
      var request = new SearchRequest("dc=test, dc=local", "(objectClass=user)", System.DirectoryServices.Protocols.SearchScope.Subtree, null); 
      var response = (SearchResponse)ldapconn.SendRequest(request); 
     } 
    } 
    catch (Exception) 
    { 
     return false; 
    } 

    return true; 
} 

, ama bunu sevmiyorum!

Deneme/yakalama olmadan ve kukla arama isteği olmadan bağlantıyı nasıl test edeceğinizin bazı daha temiz bir yolu var mı?

cevap

1

yerine arama yapmak, bunu gibi temel bağlantıları sınayın Bind() yöntemi diyebiliriz:

ldapconn.Bind(); 

Ancak try/catch olmadan bu test etmek için bir yol bilmiyorum.

+0

Yardımlarınız için teşekkürler. – Raskolnikov