Webdav не может использовать встроенную аутентификацию после миграции домена

У нас есть программа, которая использует 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 и общие файлы хранятся на одном компьютере. Проблема возникает только на машинах, которые были перенесены; Компьютеры, которые были (и остаются) вне нашего домена, не затронуты.


person Community    schedule 14.07.2009    source источник


Ответы (1)


Если ваш файловый сервер и веб-сервер не являются одним и тем же компьютером, вам необходимо настроить файловый сервер так, чтобы он доверял веб-серверу для делегирования. Это позволяет файловому серверу доверять учетным данным, аутентифицированным веб-сервером, вместо повторного запроса учетных данных при каждом запросе.

person tvanfosson    schedule 14.07.2009