Я пытаюсь протестировать свой сайт 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 7 также создает «IUSR» в качестве пользователя по умолчанию для доступа к файлам через IIS. Итак, сделайте так, чтобы пользователь IUSR имел доступ для чтения к файлам / папкам.
Как проверить, прочитал ли IUSR доступ? Щелкните правой кнопкой мыши -> Папка -> Свойства -> Вкладка «Безопасность». Посмотрите, находится ли IUSR в списке групп или имен пользователей, если нет.
Нажмите Edit -> Add -> Advanced -> Find Now -> Select IUSR и четыре раза нажмите OK.
Нашел это на другом форуме, поэтому я не могу взять кредит, но я сделал это, и у меня это сработало:
"Попробуйте изменить параметр анонимной аутентификации в IIS7:
Нажмите «Аутентификация» и нажмите «Изменить» после выбора «Анонимная аутентификация». В открывшемся окне выберите Удостоверение пула приложений и нажмите ОК. "
У меня была такая же проблема в IIS 7.5 на Windows Server 2008. Для меня сработали следующие шаги:
После того, как я внес это изменение, мои ошибки 401,3 исчезли.
Вы используете механизм входа в систему или просто анонимную авторизацию?
Если анонимный, войдите в диспетчер IIS, в значке аутентификации выберите имя анонимной аутентификации, затем нажмите кнопку «Изменить» в действиях. Проверьте, какой пользователь указан там, и убедитесь, что у него есть разрешения на файлы / папки сайта.
Если у вас есть какая-то система входа в систему, убедитесь, что у пользователя (-ов), в который вы входите, есть разрешения на файлы для сайта, и убедитесь, что идентификатор пула приложений, в котором вы работаете, имеет хотя бы доступ для чтения. в файлы.
По умолчанию в IIS 7.5 каждый пул приложений работает под своим собственным «виртуальным удостоверением». Идентификатор пула приложений - это учетные данные, которые используются для доступа к файловой системе.
Я не уверен в механизме этого, но Microsoft сделала это, чтобы повысить безопасность установки по умолчанию, уменьшив необходимость создания учетных записей служб в определенных сценариях установки. В любом случае, в результате вам нужно будет идентифицировать эту учетную запись «виртуального удостоверения» и предоставить ей доступ к вашему каталогу или изменить учетную запись службы пула приложений.
Виртуальные идентификаторы пула приложений называются «IIS AppPool \», поэтому, если вы используете DefaultAppPool, его идентификатор будет «IIS AppPool \ DefaultAppPool».
Видеть этот статью для более полной информации.
Привет для меня на IIS 8 работа: 1) Перейти в виртуальный каталог IIS - 2) аутентификация - 3) Анонимная аутентификация - 4) установить Application Pool Identity.
Поскольку ни один из приведенных выше ответов не помог мне, я подумал, что расскажу, как я решил эту проблему, когда я наткнулся на нее на своем локальном компьютере, работающем под Win7 и IIS7.
Перейдите в IIS7 -> Пулы приложений
Найдите пул приложений вашего сайта (в моем случае DefaultAppPool), щелкните правой кнопкой мыши и выберите «Дополнительные параметры».
Найдите главу Модель процесса и измените поле Identity на пользователя, которого вы точно знаете, есть доступ к файлам в папке вашего веб-сайта (в моем случае это локальный администратор).
Отвечая, чтобы включить информацию из комментариев к принятому ответу.
В IIS 7.5 на Windows Server 2008r2 группа IIS_IUSRS уже включена, но отдельная группа IUSR все равно должна быть добавлена к разрешениям, чтобы разрешить доступ к файлам / загрузку.
Для получения дополнительной информации о различиях в учетных записях см. Общие сведения о встроенных учетных записях пользователей и групп в IIS.
Попробуйте это ... Перейдите в Управление компьютером (щелкните правой кнопкой мыши на моем компьютере и выберите "Управление") -> Локальные пользователи и группы -> Пользователи -> Выберите IUSR_MACHINENAME -> Щелкните правой кнопкой мыши Свойства -> Убедитесь, что он является членом IIS_WPG и пользователей, а не гостей.
Я работаю с Server 2008 R2, и учетная запись IUser недоступна в списке.
Попробуйте установить клиентскую часть IIS, используя aspnet_regiis -c
а затем сбросьте IIS.
Для пользователей, которым этого недостаточно:
Я заставил его работать с этим:
Теперь попробуйте обновить свой сайт.