#ithit-webdav-server
Вопрос:
Сервер ITHitWebDav, использующий проверку подлинности IIS Windows.
Настройка выглядит следующим образом: https://www.webdavsystem.com/server/server_examples/iis/configuring_windows_authentication/
Серверный компонент находится по адресу URL: https://webdav.contoso.com (пример)
Клиентское приложение использует библиотеку Ajax ITHit для вызова сервера с другого веб-сайта. Веб-сайт клиента находится по адресу: https://client.contoso.com (тот же DNS домена, что и веб-сайт сервера).
Оба веб-сайта размещены на одном компьютере, на одном сервере IIS( размещен на Windows Server 2016). Проверка подлинности Windows выполняется в домене под названием contosointernal.com
Код Javascript на веб-сайте клиента:
function testOpenWebDAV(sFolderUrl) {
var webDavSession = new ITHit.WebDAV.Client.WebDavSession();
var sFolderAbsolutePath = sFolderUrl;
var fCallback = function () { };
webDavSession.OpenFolder(sFolderAbsolutePath);
}
Ошибка:
ITHitWebDAVClient.js:7 Access to XMLHttpRequest at 'https://webdav.contoso.com/' from origin 'https://client.contoso.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
ITHit.Add._46.Send @ ITHitWebDAVClient.js:7
ITHitWebDAVClient.js:7 Failed to load resource: net::ERR_FAILED
ITHit.Add._46.Send @ ITHitWebDAVClient.js:7
ITHitWebDAVClient.js:87 Uncaught _f7
От скрипача проблема заключается в запросе PROPFIND на сервер. PROPFIND не отправляет заголовки проверки подлинности.
За: : https://www.webdavsystem.com/ajax/programming/cross_origin_requests/ сетевой сервер добавляет все необходимые заголовки CORS. Мне не нужно добавлять их вручную.