it-swarm-ru.tech

IIS 7.5 (Windows 7) - ошибка HTTP 401.3 - неавторизован

Я пытаюсь проверить свой веб-сайт ASP.Net на localhost, и я получаю эту ошибку:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

В папке приложения веб-сайта есть следующие пользователи с полными разрешениями на чтение/запись:

  • СЕТЬ СЕРВИС
  • IIS_IUSRS
  • СИСТЕМА
  • Администраторы
  • Натан (я)

Что я могу попытаться исправить это?

82
Nathan Ridley

IIS 7 также создает "IUSR" в качестве пользователя по умолчанию для доступа к файлам через IIS. Поэтому у пользователя IUSR есть доступ на чтение к файлам/папкам.

Как проверить, имеет ли IUSR доступ для чтения? Щелкните правой кнопкой мыши -> Папка -> Свойства -> Вкладка "Безопасность". Проверьте, есть ли IUSR в списке групп или имен пользователей, если нет.

Нажмите "Правка" -> "Добавить" -> "Дополнительно" -> "Найти сейчас" -> выберите "IUSR" и нажмите "ОК" четыре раза.

124
Ejaz

Нашел это на другом форуме, так что я не могу взять кредит, но я сделал это, и это сработало для меня:

"Попробуйте изменить настройку анонимной аутентификации в IIS7:

Нажмите "Аутентификация" и нажмите "Изменить" после выбора "Анонимная аутентификация". В открывшемся окне выберите Идентификатор пула приложений и нажмите ОК. "

33
Stryder

У меня была такая же проблема в IIS 7.5 на Windows Server 2008. Для меня, следующие шаги работали, чтобы решить эту проблему:

  • Открыть IIS Менеджер
  • Нажмите на сайт, который вы хотите изменить
  • Двойной щелчок Аутентификация
  • Нажмите Анонимная аутентификация, затем нажмите Изменить ... в разделе Действия
  • Измените, чтобы использовать учетные данные идентификатор пула приложений вместо конкретного пользователя (у меня был IUSR)

После того, как я сделал это изменение, мои ошибки 401.3 исчезли.

22
Mark

Используете ли вы механизм входа или просто анонимную авторизацию?

Если анонимный пользователь, перейдите в менеджер IIS, в значке Аутентификация выберите имя анонимной аутентификации, затем нажмите кнопку Изменить в Действиях. Проверьте, какой пользователь указан там, и убедитесь, что у него есть разрешения на файлы/папки сайта.

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

10
MattB

Привет для меня на IIS 8 работа: 1) Продолжить IIS виртуальный каталог - 2) аутентификация - 3) Анонимная аутентификация - 4) установить идентификацию пула приложений.

3
Alex

По умолчанию с помощью IIS 7.5) каждый пул приложений запускается под своей собственной "виртуальной идентификацией". Идентификацией пула приложений являются учетные данные, используемые для доступа к файловой системе.

Я не уверен в механике этого, но Microsoft сделала это, чтобы повысить безопасность установки по умолчанию, одновременно устраняя необходимость создания учетных записей служб в определенных сценариях установки. В любом случае вы должны будете идентифицировать эту учетную запись "виртуальной личности" и предоставить ей доступ к вашему каталогу или изменить учетную запись службы пула приложений.

Виртуальные удостоверения пула приложений называются "IIS AppPool \", поэтому, если вы используете DefaultAppPool, его удостоверение будет "IIS AppPool\DefaultAppPool".

Смотрите эту статью для более полной информации.

3
ntcolonel

Отвечая, чтобы включить информацию из комментариев на принятый ответ.

В IIS 7.5 в Windows Server 2008r2 группа IIS_IUSRS уже включена, но отдельную группу IUSR все равно необходимо добавить в разрешения, чтобы разрешить доступ к файлам/их загрузку.

Для получения дополнительной информации о различиях в учетных записях см. Общие сведения о встроенных учетных записях пользователей и групп в IIS.

2
Chris Pickering

Поскольку ни один из приведенных выше ответов не помог мне, я подумал, что поделюсь, как я решил эту проблему, когда наткнулся на нее на моей локальной машине с win7 и IIS7.

  • Перейти к IIS7 -> Пулы приложений

    Найдите пул приложений вашего сайта (в моем случае DefaultAppPool), щелкните правой кнопкой мыши и выберите "Дополнительные параметры".

    Найдите главу "Модель процесса" и измените поле "Идентификация" на пользователя, которого вы точно знаете, имеет доступ к файлам в папке вашего сайта (в моем случае это локальный администратор).

2
Daniel Hedenström

Для пользователей, где этого недостаточно:

Я получил это для работы с этим:

  • Откройте Feature View вашего сайта.
  • Перейти к отображению обработчиков.
  • Найдите путь для .cshtml
  • Щелкните правой кнопкой мыши и выберите "Редактировать разрешения для функции".
  • Выберите Выполнить
  • Хит ОК.

Теперь попробуйте обновить ваш сайт.

1
nixkuroi

Попробуйте это ... Перейдите в "Управление компьютером" (щелкните правой кнопкой мыши на моем компьютере и выберите "Управление") -> Локальные пользователи и группы -> Пользователи -> Выберите IUSR_MACHINENAME -> Щелкните правой кнопкой мыши Свойства -> Убедитесь, что он является участником. IIS_WPG и пользователи, а не гости.


Я работаю с Server 2008 R2, и учетная запись IUser недоступна в списке.

1
Matt

Попробуйте установить клиентскую часть IIS используя aspnet_regiis -c и ​​затем сбросьте IIS.

1
titilola