У нас есть программа, которая использует webdav, аутентификация с аутентификацией Windows, поэтому пользователям не нужно вводить свое имя пользователя и пароль. это работало нормально, пока мы не перенесли домен. теперь код, который использовался для подключения, возвращает код ошибки 5 (доступ запрещен):
string psPassword =null, psUsername=null;
structNetResource stNetRes = new structNetResource();
stNetRes.iScope = 2;
stNetRes.iType = RESOURCETYPE_DISK;
stNetRes.iDisplayType = 3;
stNetRes.iUsage = 1;
stNetRes.sRemoteName = WebDAVServerpath;
stNetRes.sLocalName = null; //connect, but don't show drive in my computer
int iFlags = CONNECT_CMD_SAVECRED;
int i = WNetAddConnection2A(ref stNetRes, psPassword, psUsername, iFlags);
У кого-нибудь есть идеи, как это исправить? Я пытался запустить
int j = WNetCancelConnection2A(WebDAVServerpath, CONNECT_UPDATE_PROFILE, 0);
заранее, чтобы очистить все старые соединения, но это не работает.
(Запуск net use \\server.domain.com\share
теперь запрашивает имя пользователя и пароль, тогда как раньше он использовался для прямого подключения, поэтому похоже, что что-то мешает аутентификации Windows.)
Редактировать - это приложение WinForms, IIS и общие файлы хранятся на одном компьютере. Проблема возникает только на машинах, которые были перенесены; ПК, которые были (и остаются) вне нашего домена, не затрагиваются.