2009-07-16 8 views
0

DirectoryEntryインスタンスを作成するときに、何がシーンの背後にあるかを詳しく説明できますか?System.DirectoryServices.DirectoryEntryインスタンスを作成すると、何が問題になるのですか?

コードスニペット:

var dirEntry = new DirectoryEntry("LDAP://CN=jsmith,DC=fabrikam,DC=Com", userName, password); 

私は、認証がどのように動作するか、意味ですか?誰が誰と話しますか?上記のコードがコンソールアプリケーションにあるとします。それは例えばactivds.dll

を使用しています、私は反射板を使用して見ることができるものから、

答えて

1

は実際に作成するよりもはるかに多くをしませんメモリ内のオブジェクト。 DirectoryEntryオブジェクトは、実際には、Active Directoryへの非管理COMベースのADSI (Active Directory Service Interfaces)インターフェイスの基本的なIADsObjectの管理されたラッパーです(実際には直接使用することもできます)。

COMオブジェクトにアクセスするとき、または実際にActive Directoryに接続し、現在の資格情報(または指定した資格情報)でログオンし、そのオブジェクトをフェッチしようとします。 ADからのそのDirectoryEntryに関する情報。

マーク

0

、:DirectoryEntryの作成

[DllImport("activeds.dll", EntryPoint="ADsOpenObject", CharSet=CharSet.Unicode, ExactSpelling=true)] 
private static extern int IntADsOpenObject(string path, string userName, string password, int flags, [In, Out] ref Guid iid, [MarshalAs(UnmanagedType.Interface)] out object ppObject); 

http://msdn.microsoft.com/en-us/library/aa772238(VS.85).aspx

関連する問題