2016-04-08 14 views
0

Ldap経由でADに接続する機能を実装したいと思います。Ldap経由でADに接続しよう

マイコード:

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; 
} 

これは働いているが、私はそれを好きではありません!

try/catchせずにダミーの検索リクエストを使わずに接続をテストする方法がいくつかありますか?

答えて

1

代わりに検索を実行すると、あなたはそうのような基本的な接続性をテストするためにBind()メソッドを呼び出すことができます。

ldapconn.Bind(); 

は、しかし、私はのtry/catchせずにこれをテストする方法を知りません。

+0

ありがとうございました。 – Raskolnikov

関連する問題