2012-01-27 21 views
2

今日は奇妙なことがわかりました。空の文字列またはnullをDirectoryEntryコンストラクタに渡す

var directoryEntry =new DirectoryEntry(
    ConfigurationManager.AppSettings["path"], 
    ConfigurationManager.AppSettings["user"], 
    ConfigurationManager.AppSettings["password"] 
); 

これはクラスライブラリの一部です。このライブラリを別のプロジェクトから使用した場合、アプリケーション/サイトの.configファイルでこれらのキーを定義するのを忘れていましたが、まだ機能していました。

このコンストラクタはPrincipalContextコンストラクタhttp://msdn.microsoft.com/en-us/library/bb298328.aspxと同様に動作しますが、NULLを渡すと現在のユーザーの資格情報が使用されることに疑いがありますが、MSDNのドキュメントではそのことについて何も言及していません。

誰でもこれを確認したり拒否できますか?

答えて

0

このコードサンプルは例外をスローしていませんが、必ずしも機能しているとは限りません。 DirectoryEntryコンストラクタは、それに渡される値の認証や検証を行いません。代わりに、後でこれらの値を格納するだけで、後でサーバー上で照会を行うために使用しようとします。

この特定のコードは空の文字列でスローまたはフェイルしませんが、その文字列をサーバーにバインドさせる呼び出しが失敗する可能性は非常に高いです。

関連する問題