私はasp.net Webアプリケーションで作業していました。フォーム認証を使用して、Active Directory からユーザーを検証しました。すべて正常に動作します。しかし、AdsObject を一度も使用されていないネイティブ オブジェクトにバインドする必要がある理由がわかりません。私のコードは次のようになります
DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);
string[] uName;
try
{
//Bind to the native AdsObject to force authentication.
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
uName = domainAndUsername.Split('\\');
search.Filter = "(SAMAccountName=" + uName[1] + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
//Update the new path to the user in the directory.
_path = result.Path;
_filterAttribute = (string)result.Properties["cn"][0];
}
catch (Exception ex)
{
throw new Exception("Error authenticating user. " + ex.Message);
}
私もその行にコメントしてテストしました。それもうまくいきました。答えを求めてあらゆる場所を探しましたが、見つかりませんでした。ここで手に入れることを願っています.. :)