Установите проверку подлинности Windows на индивидуальном уровне обслуживания с помощью веб-администрирования Microsoft C # - PullRequest
0 голосов
/ 24 октября 2018

Нужно ваше руководство по проблеме, с которой я сталкиваюсь в настоящее время.У нас есть веб-приложение, в котором есть несколько веб-сервисов asp.net (asmx) в подкаталогах приложения.Всякий раз, когда мы настраиваем проверку подлинности Windows на уровне приложения, я ожидал, что этот параметр будет наследоваться всем службам asmx в дочерних каталогах.Но они все еще показывают свой режим аутентификации как Анонимная аутентификация.В этом состоянии, когда я пытаюсь получить доступ к веб-службе, я получаю 401.2 Несанкционированное исключение.Мне нужно вручную изменить режим аутентификации службы на окна, чтобы получить доступ к этой веб-службе.Мы также пытаемся автоматизировать это с помощью Microsoft.Web.Administration dll. Мы используем

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection =
                    config.GetSection("system.webServer/security/authentication/anonymousAuthentication", siteName);

. В приведенном выше коде переменная siteName содержит путь к приложению, такому как сайт / приложение. Кто-нибудь может сказать мне, какустановить проверку подлинности Windows на уровне обслуживания asmx с помощью API-интерфейса ServerManager?

1 Ответ

0 голосов
/ 12 ноября 2018

Я наконец нашел способ решить эту проблему.Файл конфигурации хоста приложения содержит отдельные записи для каждой службы или папки.Итак, мы должны предоставить соответствующий путь для отдельной службы или подкаталога, если у нас есть несколько служб в подкаталоге.Таким образом, код будет выглядеть следующим образом:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection =
                    config.GetSection("system.webServer/security/authentication/anonymousAuthentication", siteName);

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

...