Не удается прочитать файл конфигурации из-за недостаточных прав доступа - PullRequest
317 голосов
/ 11 апреля 2011

Недавно я столкнулся с ошибкой при попытке разместить мой сайт asp.net с IIS.Я нашел решение, которое многие клянутся.

Решение:

  1. Добавить IIS_IUSRS с разрешением на чтение файлов в папке
  2. Изменить метод проверки подлинности IISBasicAuthentication
  3. обновить сайт.Это будет работать

(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)

Что я могу добавить в свой файл web.config? Мне никогда не приходилось редактировать его раньше. Вот еготекущее содержимое:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

Моя ошибка:

Ошибка конфигурации: невозможно прочитать файл конфигурации из-за недостаточных прав доступа
Файл конфигурации: \? \ C: \ Users ***** \ Documents \ Visual Studio2010 \ Веб-сайты \ PointsForTime \ web.config

Ответы [ 36 ]

1 голос
/ 24 мая 2017

Принятое решение не для меня.Я использую репозиторий Git, и он клонируется в следующую папку

c:\users\myusername\source\repos\myWebSite

. Я создал новый веб-сайт IIS и указал его путь.Который не имел разрешений iis_iusrs, предложенных в принятом решении.Когда я добавил разрешения, он все еще не работал.

Он начал работать только тогда, когда я дал следующие разрешения группе «Пользователи», а наследование каскадно распространило разрешения на web.config.Вероятно, следовало применить его только к web.config, чтобы уменьшить площадь поверхности атаки.

User Pemissions

1 голос
/ 16 января 2014

У нас был веб-сайт, работающий с определенным идентификатором в пуле приложений, только после предоставления этому пользователю доступа на чтение к папке, содержащей web.config, он будет работать. Мы отследили это после добавления пользователя «все» с помощью read, и все работало нормально.

0 голосов
/ 24 октября 2014

Я также получал сообщение «Не удается прочитать файл конфигурации из-за недостаточных разрешений».Оказывается, что ограничения ISAPI и CGI в IIS для ASP.NET 4.0 32-разрядных и 64-разрядных были отключены.Отмечая их как разрешенные, я решил проблему.

0 голосов
/ 08 ноября 2017

У меня была такая же проблема, и ни одно из этих решений не помогло мне.Я продолжал получать ту же ошибку и одно сообщение «Не удалось запустить мониторинг изменений» в средстве просмотра событий.

Единственное, что сработало, было скопировать папку и переименовать ее обратно.Это должна быть поврежденная папка в Windows, к которой IIS / ASP.NET не мог получить доступ.

0 голосов
/ 04 августа 2017
  1. Перейти на IIS, (сайты)
  2. Щелкните правой кнопкой мыши по проекту внутри сайтов. введите описание изображения здесь

и нажмите на разрешение на редактирование.

  1. Перейти в охрану.

  2. нажмите на кнопку редактирования.

  3. нажмите кнопку Добавить. введите COMPUTER_NAME \ IIS_USERS

    или

  4. нажмите вперед.

  5. нажмите кнопку найти сейчас.

    и есть возможность выбрать. выберите IIS_USERS и нажмите ОК ... ОК .... ОК .

0 голосов
/ 16 июня 2017

Конечно, это проблема с разрешениями.Я предпринял следующие шаги, и это сработало для меня.

  1. выберите свой веб-сайт или приложение в левом углу.В большинстве случаев это будет под Веб-сайт по умолчанию .
  2. . Нажмите Основные настройки в правом углу в IIS Manager 7 или выше.
  3. нажмите подключитесь как кнопка .
  4. Используйте " Определенный пользователь ", нажмите кнопку "Установить".
  5. Введите свое имя пользователя и пароль.например домен \ имя пользователя .для меня это было как ABC \ rrajkumar, введите пароль.
  6. перезапустите IIS, просмотрите ваш сайт.Это должно работать сейчас.
0 голосов
/ 15 мая 2017

Я дал разрешение и использовал ICACLS.exe, но не работал.Затем я изменил физический путь, и он успешно работал.

(IIS 8.5 windows 2012 R2)

0 голосов
/ 10 июля 2015

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

0 голосов
/ 12 января 2018

У меня была эта проблема, работающая в Windows 10 с пулом приложений с использованием учетной записи microsoftaccount \ email@contosa.com (например, вход на ПК с учетной записью Microsoft вместо локальной учетной записи).

Видимона моем компьютере что-то испортилось;удаление IIS и его повторное добавление ничего не дало (поскольку, похоже, метабаза IIS не была удалена).Удаление и воссоздание пула приложений тоже не помогло.

Мое решение состояло в том, чтобы просто создать новый пул приложений с теми же настройками, но с другим именем.Это исправило проблему для меня;очевидно, что-то испортилось с помощью apppool, который даже удалив его и добавив его с тем же именем, не исправил бы.

0 голосов
/ 28 октября 2016

Иногда, если это новый сервер, вам необходимо настроить или установить функцию ASP.NET в IIS, чтобы он мог прочитать ваш файл web.config.

В моем случае это было причиной.

...