Предполагается, что это основной метод смены пароля с использованием DirectoryServices в ASP.NET.
код:
String path = ConfigurationManager.AppSettings["LDAPServer"] + myDN;
DirectoryEntry de = new DirectoryEntry(path, @"Domain A\" + myUserId, myPassword, AuthenticationTypes.Secure);
de.Invoke("ChangePassword", new object[] { myPassword, myNewPassword});
Это нормально работает, если я работаю локально через виртуальный IIS (с использованием Visual Studio).
Однако, если я опубликую это в производстве, я получу:
Информация о конфигурации не может быть прочитана с контроллера домена, так как машина недоступна или доступ запрещен. (Исключение из HRESULT: 0x80070547)
Единственная разница между ними может заключаться в том, что мой компьютер находится в Домене A, но опубликованный сервер находится в Домене B.
Домен A и домен B являются доверенными, а домен A является родительским для домена B.
Кто-нибудь знает, где и как возникает ошибка?
РЕДАКТИРОВАТЬ: Возможно, я должен добавить, что это веб-сервис. Другое приложение выдаст необходимую информацию для проверки, а веб-служба изменит пароль.