System.DirectoryServices.DirectoryServicesCOMException: произошла ошибка операций
У меня есть такое же веб-приложение, работающее на трех других серверах. Кто-нибудь есть идеи, почему не работает на 4-м сервере? Смотрите ошибки и трассировки стека:
Произошла ошибка операции.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Детали исключения:
System.DirectoryServices.DirectoryServicesCOMException: произошла ошибка операций.
Ошибка источника:
Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.
Трассировки стека:
[DirectoryServicesCOMException (0x80072020): Произошла ошибка операций. ] System.DirectoryServices.DirectoryEntry.Bind (Boolean throwIfFail) +454 System.DirectoryServices.DirectoryEntry.Bind () +36 System.DirectoryServices.DirectoryEntry.get_AdsObject () +31 System.DirectoryServices.PropertyValueCollection.Populate ()
System.DirectoryServices.PropertyValueCollection..ctor (запись DirectoryEntry, String propertyName) +96
System.DirectoryServices.PropertyCollection.get_Item (String propertyName) +142 System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer () +1134 System.DirectoryServices.AccountManagement.Pincipal.Conirect.InIxt.Intext.IrDirectorySignSigner.dll +124 System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx () +31 System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (контекст PrincipalContext, тип PrincipalType, Nullable '1 identityType, String identityValue, DateTime refDate) +14
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType (контекст PrincipalContext, тип PrincipalType, String identityValue) +73
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (контекст PrincipalContext, String identityValue) +25
Инфраеро. Seguranca \ ServicoAutenticacao.cs: 34 Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.ValidarUsuarioAD (Строковая матрица, Строка сена, AcessoUsuario acessoUsuario) в D: \ SVN \ STT \ trunk \ 4_F_Inse_Core_Core_Roc_RoC_RoC TINE3.STTEnterprise.Web \ Controllers \ LoginController.cs: 92 Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.ValidarUsuario (Строка Matricula, Строка сена) в D: \ SVN \ STT \ trunk \ 4-0_CodigoSRpr__CodigoF_R_F \ Infraero.TINE3.STTEnterprise.Web \ Controllers \ LoginController.cs: 80 Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.Index (LoginViewModel loginViewModel) в D: \ SVN \ STT \ trunk \ 4-0_CodigoSRise_Conte_ter_service \ Infraero.TINE3.STTEnterprise.Web \ Controllers \ LoginController.cs: 54 lambda_method (Закрытие, Контроль erBase, Object []) +108
System.Web.Mvc.ActionMethodDispatcher.Execute (контроллер ControllerBase, параметры Object []) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext controllerContext, IDictionary '2 параметра) +208
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary '2 параметра) +27
System.Web.Mvc. <>c__DisplayClass15.b__12 () +55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (фильтр IActionFilter, предварительный контекст ActionExecutingContext, Func '1 продолжение) +263
System.Web.Mvc. <>c__DisplayClass17.b__14 () +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters (ControllerContext controllerContext, IList '1 фильтр, ActionDescriptor actionDescriptor, параметры IDictionary`2) +191
System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext controllerContext, String actionName) +343
System.Web.Mvc.Controller.ExecuteCore () +116
System.Web.Mvc.ControllerBase.Execute (RequestContext requestContext) +97 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute (RequestContext requestContext) +10
System.Web.Mvc. <>c__DisplayClassb.b__5 () +37
System.Web.Mvc.Async. <>c__DisplayClass1.b__0 () +21
System.Web.Mvc.Async. <>c__DisplayClass8'1.b__7 (IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult '1.End () +62 System.Web.Mvc. <>c__DisplayClasse.b__d () +50
System.Web.Mvc.SecurityUtil.b__0 (Действие f) +7 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust (Действие) +22 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest (результат IAsyncResult) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +8963149 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое значение & завершено синхронно) +184
EfetuarLogin Метод:
public static bool EfetuarLogin(User user, string password)
{
bool isValid = false;
if (user != null)
{
PrincipalContext context = new PrincipalContext(ContextType.Domain);
using (context)
{
isValid = context.ValidateCredentials(user.Login, password);
if (isValid)
{
UserPrincipal userAD = UserPrincipal.FindByIdentity(context, user.Login);
MySession.CurrentUser = new MyUserSession()
{
Id = user.Id,
ProfileId = user.ProfileId ,
Login = user.Login ,
Name = userAD.Name
};
}
}
}
return isValid;
}