Ошибка HTTP 401.1 - неавторизован из локального IIS - PullRequest
19 голосов
/ 08 октября 2010

Я создал сайт на моей локальной машине, который отлично работает в режиме отладки, но когда я помещаю сайт на локальный iis (7.5) моей машины, я получаю

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

Настройки аутентификации У меня включена олицетворение Windows и проверка подлинности Windows, а все остальное в этом разделе отключено

Все папки имеют полные права доступа

Может кто-нибудь сказать мне, что происходит?

Ответы [ 3 ]

28 голосов
/ 08 октября 2010

В качестве быстрого и грязного исправления предоставьте IIS_IUSRS группе Чтение / Выполнение или Изменение разрешений для вашей веб-папки ... НО ЭТО НЕ ДЕЛАЙТЕ НА ИНТЕРНЕТ-СЕРВЕРЕ , читайте дальше ...

Чтобы исправить это должным образом, вы должны предоставить удостоверение пула приложений для вашего сайта Чтение / Выполнение или Изменить разрешения для веб-папки вашего приложения. Для этого:

  1. Откройте диспетчер IIS, перейдите на веб-сайт или в папку приложения, в котором развернут сайт.
  2. Открыть дополнительные настройки (это справа Действия панель).
  3. Запишите имя приложения и закройте это окно
  4. Дважды щелкните значок Аутентификация , чтобы открыть настройки аутентификации
  5. Отключить Аутентификация Windows
  6. Щелкните правой кнопкой мыши Анонимная аутентификация и выберите Edit
  7. Выберите переключатель Application pool identity, щелкнув OK
  8. Выберите узел Пулы приложений в дереве диспетчера IIS слева и выберите имя пула приложений, которое вы записали на шаге 3
  9. Щелкните правой кнопкой мыши и выберите Расширенные настройки
  10. Разверните настройки модели процесса и выберите ApplicationPoolIdentity в раскрывающемся списке «Встроенная учетная запись» , затем нажмите OK.
  11. Нажмите OK еще раз, чтобы сохранить и закрыть страницу расширенных настроек пула приложений
  12. Откройте командную строку администратора (щелкните правой кнопкой мыши значок CMD и выберите «Запуск от имени администратора». Это будет где-то в вашем меню «Пуск», вероятно, в разделе «Стандартные»).
  13. Запустите следующую команду:

icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)

Например:

icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)

Если все хорошо icacls.exe сообщит:

processed file: c:\inetpub\wwwroot\mysite
Successfully processed 1 files; Failed processing 0 files
0 голосов
/ 18 августа 2018

Несколько позднее, но я иногда забываю альтернативу - разница во времени.В доменной среде запустите «Net Time / SET» для синхронизации с AD Box.

Дополнительное чтение:

Чтобы все это работало и для обеспечения безопасности контроллеры домена и клиентыдолжно быть в то же время.Операционные системы Windows включают инструмент службы времени (служба W32Time).Проверка подлинности Kerberos будет работать, если временной интервал между соответствующими компьютерами находится в пределах максимально разрешенных временных параметров.По умолчанию это пять минут.Вы также можете отключить службу времени и установить стороннюю службу времени.Конечно, если у вас есть проблемы с аутентификацией, вы должны убедиться, что время правильно для контроллеров домена и клиента, который испытывает проблему.(Источник: https://sourcedaddy.com/windows-7/server-authentication.html)

Тяжелее чтение:

.... Кроме того, ИТ-специалисты должны понимать, как работает служба времени Windows, поскольку безопасность Kerberos сильно зависит от служб времени. .... (Источник: https://redmondmag.com/articles/2012/02/01/understanding-the-essentials-of-the-kerberos-protocol.aspx)

0 голосов
/ 10 января 2017

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...