2013-10-07 20 views
11

ActiveDirectoryでユーザーを検索するために、LdapConnection/SearchRequestとDirectoryEntry/DirectorySearcherを使用することの違いを誰でも説明できます。LdapConnection対DirectoryEntry

ADとの対話に最適なのはどちらですか?

+2

これは良い質問です。私はいつもDirectoryEntry for ADとLdapConnectionを一般的なLdapソリューションに使用しましたが、私はそれらを比較していません。 – empi

答えて

6

ほとんどの場合、DirectoryEntry/DirectorySearcher(System.DirectoryServicesまたはS.DS)を使用してADと対話する必要があります。より少ないコードでより簡単に作業を進めることができます。しかし、LdapConnection/SearchRequest(System.DirectoryServices.ProtocolsまたはS.DS.P)では、より低レベルのLDAPアクセスを提供するため、より多くの制御を提供します。 AD以外のLDAP準拠のディレクトリの場合は、S.DS.Pを使用するとよいでしょう。

S.DS.Pでは、一般に、S.DSと比較して同じことを達成するために、より多くのコードを書く必要があります。

たとえば、S.DS.Pのページ検索では、各ページの結果に対する要求と応答を処理する必要があります。しかし、S.DSでは、DirectorySearcher.PageSizeを設定するだけで、DirectorySearcher.FindAll()のすべてのページですべての結果を取得できます。

ファントムルート検索のようにS.DS.Pを使用しなければならないこと、または「詳細データが利用可能」を手動で処理したいことがあります。しかし、これらの状況は一般的ではありません。

関連する問題