Сбой аутентификации Invoke-RestMethod на локальном сервере - PullRequest
0 голосов
/ 12 июня 2018

У меня есть конечная точка WebApi (.Net Core 2, Аутентификация Windows), которую я могу успешно вызывать из множества комбинаций версий PS / Windows:

Invoke-RestMethod -Uri https://<fqdn>/api/notification -UseDefaultCredentials

Но когда я запускаю ее локально на хостинге серверавеб-приложение (использующее ту же учетную запись AD) не может пройти проверку подлинности.Журналы IIS для запросов от других компьютеров показывают учетную запись пользователя, выполняющего запрос, но локальные запросы показывают пустое значение для этого поля.

PS error:

HTTP Error 401.1 - Unauthorized YouУ вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных.

Запись журнала IIS:

2018-06-12 21:42:31 GET/ api / messages - 443 - Mozilla / 5.0 + (Windows + NT; + Windows + NT + 6.3; + en-US) + WindowsPowerShell / 5.1.14409.1012 - 401 1 3221225581 0

Записьс любого другого компьютера, кроме локального сервера, будет иметь DOMAIN \ User после номера порта и будет успешным.

1 Ответ

0 голосов
/ 15 июня 2018

Отключить строгую проверку имени.Ниже приводится краткое изложение статьи: https://www.andrewcbancroft.com/2016/01/21/401-unauthorized-browsing-site-from-local-iis-instance/

Шаги ...

  1. Установите для параметра реестра DisableStrictNameChecking значение 1. Для получения дополнительной информации о том, как это сделать, см.article 281308 в базе знаний Майкрософт.
  2. Нажмите кнопку Пуск, выберите пункт Выполнить, введите regedit и нажмите кнопку ОК.
  3. В редакторе реестра найдите и выберите следующуюраздел реестра: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  4. Щелкните правой кнопкой мыши MSV1_0, выберите «Новый», а затем нажмите «Многостроковое значение».
  5. Введите BackConnectionHostNames и нажмите клавишу ВВОД.
  6. Щелкните правой кнопкой мыши BackConnectionHostNames и выберите «Изменить».
  7. В поле «Значение» введите имя хоста или имена хостов для сайтов, находящихся на локальном компьютере, а затем нажмитеОК.
  8. Закройте редактор реестра и перезапустите службу IISAdmin.(для этого я запустил iisreset из командной строки Powershell)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...