Хостинг ASP.NET в IIS7 дает доступ запрещен?

123

Я установил приложение в моем IIS7, которое использует .NET Framework 4.0 (запускается NetworkService), но при просмотре сайта я получаю следующее:

Доступ запрещен.
Описание: произошла ошибка при доступе к ресурсам, необходимым для обслуживания этого запроса. Возможно, у вас нет разрешения на просмотр запрошенных ресурсов.
Сообщение об ошибке 401.3: у вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных (доступ запрещен из-за списков контроля доступа). Попросите администратора веб-сервера предоставить вам доступ к *

Я попытался предоставить NetworkService полное разрешение на папку, содержащую веб-сайт (ту, на которую указывает веб-приложение в IIS), но мне все равно отказано в доступе?

Зачем?

сирена воздушной тревоги
источник
Не могли бы вы взглянуть на мой ответ о результатах ASP MVC в IIS 7: Ошибка HTTP 403.14 - Запрещено .
Мурат Йылдыз

Ответы:

271

Я дал доступ к «IIS_IUser», но вместо этого он должен быть «IUSR» . Это решило проблему.

сирена воздушной тревоги
источник
Это тоже была моя проблема. Забавно, как много разных пользователей. У вас также есть IIS_IUSR (или это то, что вы имели в виду с IIS_IUser?), И вы также можете добавить пул приложений.
reaper_unique 04
2
Это должно быть прикреплено к главной странице, где они распространяют этот IIS!
c00000fd 03 авг.13,
36
Сайт> Аутентификация> Анонимная аутентификация> Редактировать> Определенный пользователь
Джонас
4
работал как шарм! Добавлены разрешения IUSR в свойствах папки проводника Windows, вкладке безопасности.
Филипе Борхес,
3
Я предоставил доступ к IIS_IUser и IUSR, полный контроль, и это сработало.
Рональд Нсабиера
167

Для меня ничего не сработало, кроме следующего, что решило проблему: откройте IIS, выберите сайт, откройте аутентификацию (в разделе IIS), щелкните правой кнопкой мыши Анонимная аутентификация и выберите «Изменить», выберите «Идентификация пула приложений».

Грэм Лэйт
источник
1
Ницца. Работал у меня на Win Server 2012 IIS 8 для веб-сайта ASP Classic.
Ben_Coding 07
это помогло .. но вам нужно сбросить весь сервер, чтобы настройки вступили в силу .. пытался сбросить страницу за страницей, и это не сработало.
сенсей
Пришлось сделать это для нового приложения на существующем веб-сайте, ориентированном на другую среду выполнения .NET, которая давала мне 401 в корне документа приложения (доступ к страницам * .aspx работал напрямую, тогда как корень документа - нет).
Мэтт Борха,
Спасибо. Сработало с первого раза.
GutierrezDev
Отлично работает, если ваш пул приложений работает как СЕТЕВОЙ СЕРВИС
Сергей Волошенко,
12

У меня была та же проблема, я включил «Анонимную аутентификацию», но она все равно не сработала. Итак, я также ВКЛЮЧИЛ «Аутентификацию с помощью форм». Тогда все заработало без проблем.

Enkosi
источник
для меня, когда я включил проверку подлинности Windows в IIS, теперь работает нормально. спасибо
Singaravelan
4

ОС: Windows 7 и IIS 7

Если у вас все еще есть отказ в разрешении после добавления IUSR & NETWORK SERVICE. Добавьте также IIS_WPG. Добавление этого последнего пользователя решило мою проблему.

Для людей, которые не могут найти этих пользователей: когда вы пытаетесь добавить пользователя в безопасности папки (свойства папки), нажмите «Дополнительно» в окне «Выбор пользователей или групп». Измените местоположение на имя компьютера, затем нажмите «Найти». Вы найдете этих пользователей в списке ниже.

Волкан
источник
Спасибо, у меня это сработало! Я использовал IIS_IUSRS на сервере Windows 2012, так как там нет IIS_WPG.
Роман О
Я не вижу IIS_WPG. Это то, что вы создали?
Stealth Rabbi
4

Если вы используете анонимную аутентификацию, IIS 7 будет использовать учетную запись «IUSR» для доступа к каталогу (если вы не настроили ее на использование идентификатора пула приложений. Если вы не предоставили IUSR достаточных разрешений для папок и файлов вашего сайта, вы получите эту ошибку

Джеймс МакКеон
источник
3

Для меня в Windows 7 он начал работать только после того, как я дал разрешения «Чтение и выполнение», «Список содержимого папки», «Чтение» для папки сайта для обоих пользователей.

  • IUSR
  • СЕТЕВОЙ СЕРВИС

Разрешения IUSR Разрешения NETWORK SERVICE

Vitalii
источник
это решение сработало для меня, и больше ничего! Спасибо.
Аймал Хан
3

Пробовал большинство решений здесь, но не повезло. Что сработало для меня, так это добавление «Все» к разрешениям безопасности. Свойства -> Безопасность -> Изменить -> Добавить -> Все. Данных значений по умолчанию мне было достаточно, чтобы восстановить доступ.

В ближайшем будущем мне, вероятно, следует выяснить, какие учетные данные отправляются на сервер, чтобы я мог предоставить соответствующие разрешения. Но надеюсь, это кому-то поможет!

midoriha_senpai
источник
2

Проверка удостоверения пула приложений при анонимной проверке подлинности и включение проверки подлинности с помощью форм решит проблему с ошибкой отказа в доступе. 😁

АДАРШ БИДАРИ
источник
1

В настройках аутентификации для самого приложения (IN IIS) посмотрите, включена ли анонимность.

Matt
источник
1

Нам нужно создать нового пользователя ComputerName \ IUSR, перейдя в папку веб-сайта -> Свойства ---> Безопасность ---> Редактировать -> Добавить и предоставить доступ для чтения. Это определенно сработает.

Это решение для IIS7

Радж Панди
источник
1

Я ходил по этому поводу, и оказалось, что это неправильно настроенная страница по умолчанию. Надеюсь, это поможет кому-то другому избежать потраченного впустую часа.

Дуэйн Будро
источник
1

В моем случае при запуске c: \ windows \ Microsoft.Net \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe / я решил проблему с отказом в доступе 403.

Андреас Шнайдер
источник
Ты настоящий MVP! Большое спасибо! Эта ошибка только спасла меня от головной боли!
XhensB
1

После некоторого размышления и большого количества проб и ошибок я обнаружил, что эта ошибка возникла из-за того, что часть моего файла web.config была зашифрована. и по какой-то причине ключ больше не действовал.

Повторное шифрование раздела конфигурации решило проблему.

marsze
источник
0

Это было связано с проблемой безопасности каталога WWWRoot.

Простое решение: просто скопируйте папку приложения на другой диск вместо «C: \ Inetpub \ wwwroot», а затем создайте виртуальный каталог для этого нового пути. Вот и все.

Мадху С. Редди
источник
0

Если пользователь IUSR уже указан в разделе «Проверка подлинности», но проблема все еще возникает, возможно, ваш список каталогов не включен. Обязательно проверьте это. Так было со мной.

Visokoo
источник
0

Вот что случилось со мной:

Get - Post нормально. Работает хорошо.

Когда я пытаюсь использовать Optionsглагол, сервер возвращает такую ​​ошибку.

403

Тогда будьте осторожны с urlScan

Я добавляю команду OPTIONS в файл .ini конфигурации urlscan, тогда все работает хорошо.

Чтобы проверить, установлен ли urlscan или нет, откройте менеджер iis, и ISAPI FILTERSв списке должно появиться открытое сканирование URL.

Toha
источник
0

Я также столкнулся с той же проблемой: все было нормально, все права были предоставлены пользователю и папке. После многих исследований я обнаружил, что wwwroot (папка с исходным кодом) была предоставлена ​​другим пользователям. Я перестал делиться, и это сработало как шарм.

Pradyumn Agrawal
источник