尝试使用“匿名”身份验证和硬编码用户名在生产环境中运行应用程序时,我一直收到以下错误。
当我打开基本身份验证,然后提示用户名/密码时,一切都像魅力一样。但我需要让硬编码版本也能正常工作。无法弄清楚最新情况。
一切都在另一台服务器上完美运行。
异常详细信息:System.DirectoryServices.DirectoryServicesCOMException:一个操作 发生了错误。
来源错误:
在执行当前Web请求期间生成了未处理的异常。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈追踪:
[DirectoryServicesCOMException(0x80072020):发生操作错误。]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)+781
System.DirectoryServices.DirectoryEntry.Bind()+44
System.DirectoryServices.DirectoryEntry.get_SchemaEntry()+49
System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(的DirectoryEntry de)+62
System.DirectoryServices.AccountManagement.ADStoreCtx..ctor(的DirectoryEntry ctxBase,Boolean ownCtxBase,String username,String password, ContextOptions选项)+123
System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(的DirectoryEntry 入口)+234
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit() +497[PrincipalOperationException:发生操作错误。]
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit() 534256
System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() +61
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.GroupPrincipal.FindByIdentity(PrincipalContext context,String identityValue)+95
SERT_BO.ADHelper.UserBelongsToGrp(String adGroup,String sAMAccountName,String& emailAddr,String& fullName)in d:\ SERT \的BusinessObjects \ SERT_BO \ ADHelper.cs:199
DERT中的SERT_BO.UserSession.GetUserSession(String userName):\ SERT \ BusinessObjects \ SERT_BO \ UserSession.cs:44
DERT中的SERT.SetUserSession.Page_Load(Object sender,EventArgs e):SERT \ SERT \ SERT \ SetUserSession.aspx.cs:23
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+25
System.Web.UI.Control.LoadRecursive()+71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +3064
答案 0 :(得分:1)
要检查的一件事是运行ASP.NET应用程序的AppPool具有正确的权限。作为快速测试,您可以将AppPool的身份设置为本地系统,看看是否可以解决问题。如果问题出现在此处,则可以将应用程序池标识设置为在此服务器上具有足够权限的(域?)用户。
答案 1 :(得分:0)
看起来问题是服务器正在查看错误的AD控制器。它必须完全写出来。