Windows Server 2008 R2 (IIS7 がインストールされている) で実行されている ASP.Net (4.0) アプリケーションで AD をクエリしようとしています。ローカル コンピューター (Windows 7) では正常に動作しますが、サーバーでは動作しません。現在のユーザーのユーザー ID を取得しようとしています。同様の質問のQ&Aを見ましたが、成功しませんでした。
これがコードスニップです...
public partial class Default : System.Web.UI.Page
{
PrincipalContext principalCtx = new PrincipalContext(ContextType.Domain);
UserPrincipal currentUser = UserPrincipal.Current;
web.config には
<authentication mode="Windows"/>
<identity impersonate="true" />
そして、これがエラーとスタックトレースです...
[DirectoryServicesCOMException (0x80072020): An operations error occurred.
]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +781
System.DirectoryServices.DirectoryEntry.Bind() +44
System.DirectoryServices.DirectoryEntry.get_AdsObject() +42
System.DirectoryServices.PropertyValueCollection.PopulateList() +29
System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) +119
System.DirectoryServices.PropertyCollection.get_Item(String propertyName) +163
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer() +541617
System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() +51
System.DirectoryServices.AccountManagement.PrincipalContext.Initialize() +141
System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() +42
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType, Nullable`1 identityType, String identityValue, DateTime refDate) +27
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext context, Type principalType, IdentityType identityType, String identityValue) +146
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) +44
System.DirectoryServices.AccountManagement.UserPrincipal.get_Current() +390
IIS アプリケーション プールを NetworkService および ApplicationPoolIdentity として実行しようとしましたが、うまくいきません。
何か案は?ありがとう。