Active Directory からユーザー情報にアクセスしています。私のコードは、ローカル PC (ドメインではなく Windows XP を使用) で正常に動作しています。コードは
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domainName", "ActiveDirectoryID", "Password");
UserPrincipal qbeUser = new UserPrincipal(ctx);
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
qbeUser.SamAccountName = "AnyOther_AD_ID"; //To get any one's info
foreach (var found in srch.FindAll())
{
UserPrincipal foundUser = found as UserPrincipal;
if (foundUser != null)
{
emailAddress = foundUser.EmailAddress;
}
}
しかし、アプリケーションをサーバー pc (Windows サーバー 2003、ドメイン上) にデプロイすると、「認証メカニズムが不明です」というエラーが表示されます。ドメイン上にあるサーバーは AD 情報にアクセスできませんが、ドメイン上にないローカル PC は AD 情報にアクセスできます (AD_Id とパスワードが与えられます)。