Nie można odczytać pliku konfiguracyjnego z powodu niewystarczających uprawnień

[1]} Ostatnio napotkałem błąd podczas próby hostowania mojego asp.net strona z IIS. Znalazłem rozwiązanie, które wielu przysięga.

Rozwiązanie:

  1. Dodaj IIS_IUSRS z uprawnieniami do odczytu na plikach w folderze
  2. Zmień metodę uwierzytelniania IIS na BasicAuthentication
  3. odśwież stronę. Będzie działać

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

Co dodaję do moja sieć.ale plik konfiguracyjny? Nigdy wcześniej nie musiałem tego edytować. Oto jego aktualna zawartość:

<?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>

Mój błąd to:

Błąd konfiguracji: nie można odczytać pliku konfiguracyjnego z powodu niewystarczających uprawnień
Plik Konfiguracyjny:\?\C:\Users* * * * * \Documents\Visual Studio2010 \ WebSites\PointsForTime\web.config

Author: Shadow Wizard, 2011-04-11

30 answers

Nie ma żadnego problemu z Twoją siecią.config . Twoja strona internetowa działa w procesie. W iis można zdefiniować tożsamość tego procesu. Identyfikator , który, pula aplikacji Twojej witryny internetowej działa jako (Usługi sieciowe, System lokalny itp. ...), powinien mieć uprawnienia dostępu i odczytu sieci.plik konfiguracyjny.

Aktualizacja:

ta zaktualizowana odpowiedź jest taka sama jak powyżej, ale trochę dłuższa i prostsza i poprawione.

Po pierwsze: nie musisz niczego zmieniać w pliku konfiguracyjnym. jest OK . Problem jest z Windows file permissions .

Ten problem występuje, ponieważ Twoja aplikacjanie może uzyskać dostępui odczytać sieć.plik config.

Udostępnij plik grupie IIS_IUSRS. Wystarczy kliknąć prawym przyciskiem myszy web.config i kliknij properties , w zakładce security , Dodaj IIS_IUSRS .

Więc o co chodzi z tym IIS_IUSRS?

Twoja strona jest Jak plik exe. Podobnie jak każdy plik exe, powinien być uruchamiany przez użytkownika I uruchamiany zgodnie z uprawnieniami przypisanymi do tego użytkownika.

Gdy twoja strona zostanie uruchomiona w IIS, pula aplikacji Twojej strony internetowej jest powiązana z użytkownikiem (Usługi sieciowe, System lokalny, itp. ...) (i może być zmieniony w IIS)

Więc kiedy mówisz IIS_IUSRS, oznacza to każdy użytkownik (Usługi sieciowe, System lokalny, itp. ...), że Twoja strona działa jako.

I jako @Seph wymienione w komentarzu poniżej: Jeśli Twój komputer znajduje się w domenie , pamiętaj, że grupa IIS_IUSRS jest grupą lokalną. Upewnij się również, że podczas próby znalezienia tego użytkownika Sprawdź lokalizację, która powinna być ustawiona na komputer lokalny, a nie domenę korporacyjną.

 455
Author: Afshin Gh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 06:21:02

Uwaga redaktora: robienie tego, co mówi ta odpowiedź jest DANGEROUS! Konto LocalSystem to..

CAŁKOWICIE zaufane konto, bardziej niż konto administratora. Nie ma nic na pojedynczym pudełku, czego to konto nie może zrobić, i ma prawo dostępu do sieci jako maszyny (wymaga to Active Directory i przyznania uprawnień do konta Maszyny do czegoś)


Zmiana tożsamości z ApplicationPoolIdentity to LocalSystem zrobił robotę ;).

Używam win7 64 Z IIS 7.5

Więcej o tożsamość puli aplikacji w IIS 7.5 i win 7

Tutaj wpisz opis obrazka

 65
Author: amd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-25 09:48:31

Miałem coś, co wydawało się być tym samym problemem z uprawnieniami na pliku web.config.
Jednak mój problem był spowodowany przez IIS nie załadować pliku konfiguracyjnego, ponieważ zawierał reguły przepisywania URL i nie zainstalowałem modułu przepisywania URL IIS na nowym serwerze.

Rozwiązanie: zainstaluj moduł rewrite.
Mam nadzieję, że to zaoszczędzi komuś kilka godzin.

 52
Author: Jarrod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-14 04:49:16

Miałem ten sam problem, gdy próbowałem udostępnić folder główny witryny innemu użytkownikowi. Jakiś folder stracił uprawnienia. Wykonałem więc kroki, aby dodać uprawnienia do grupy IIS_IUSRS zgodnie z sugestią Afshin Gh. Problem w tym, że ta grupa nie była dla mnie dostępna. Używam systemu windows 7.

To co zrobiłem zmieniłem kilka kroków:

  1. Kliknij prawym przyciskiem myszy na folderze nadrzędnym (kto stracił uprawnienia),
  2. Properties = >Security = > In " Group or user nazwy:",
  3. Kliknij Edytuj...
  4. zostanie otwarte okno "uprawnienia do folderu".
  5. W "nazwy grup lub użytkowników:" naciśnij Dodaj... btn,
  6. wpisz Authen i naciśnij Sprawdź nazwy,
  7. zobaczysz pełną nazwę grupy " uwierzytelnieni użytkownicy "
  8. Naciśnij ok = > zastosuj.
  9. powinno to ponownie włączyć uprawnienia.

To mi pomogło.

 21
Author: zwitterion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-22 12:49:17

Nie musisz niczego zmieniać w swojej sieci.config.

Problemem są uprawnienia systemu plików. Twoje uprawnienia do plików nie zezwalają użytkownikowi IIS_IUSRS na dostęp do Internetu.config (lub prawdopodobnie którykolwiek z plików). Zmień ich uprawnienia do plików w systemie windows, aby umożliwić dostęp do konta IIS_IUSRS.

 17
Author: Erik Funkenbusch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-10 23:28:41

Przejdź do katalogu nadrzędnego, kliknij prawym przyciskiem myszy i wybierz Właściwości . Wybierz zakładkę Security , Edytuj uprawnienia i dodaj . Kliknij na Advanced i Find Now. Wybierz IIS_IUSRS i kliknij OK i OK ponownie. Upewnij się, że masz check Write . Kliknij OK i OK ponownie.

Praca wykonana!

 14
Author: Quinny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-08 09:21:34

Udostępnij plik grupie IIS_IUSRS. Kliknij prawym przyciskiem myszy swoją stronę internetową.config, rozwiń właściwości i w zakładce bezpieczeństwo dodaj IIS_IUSRS. Daj grupie dostęp do odczytu/zapisu.

Gdy grupa jest NIE dostępna, zastąp IIS_IUSRS przez ComputerName\iis_iusrs

 14
Author: Kurt Van den Branden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-24 07:55:10

Kiedy przyznasz uprawnienia IIS_IUSRS powinieneś sprawdzić, czy w sekcji IIS/Authentication Twojej aplikacji internetowej poświadczenia uwierzytelniania anonimowego używają tożsamości puli aplikacji, a nie IUSR.

Tutaj wpisz opis obrazka

 8
Author: Carlos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-23 00:18:35

Z jakiegoś powodu Twoja sieć.config jest ustawiony jako Tylko do odczytu. Odznacz opcję readonly w web.plik konfiguracyjny.

 5
Author: Luis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-07 14:35:30

Musiałem dodać uprawnienia do IUSR (oprócz ISS-IUSRS, jak inni sugerowali). (Zobacz też: http://codeasp.net/blogs/raghav_khunger/microsoft-net/2099/iis-7-5-windows-7-http-error-401-3-unauthorized)

 4
Author: coberlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-10 17:58:11

Użyłem subst do stworzenia mapowania z D: do C:, aby zachować taką samą konfigurację jak inni programiści w zespole. To też dało mi te same błędy, co opisane. Usunięcie tego naprawiło to dla mnie.

 3
Author: Sniipe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-25 15:10:26

Mieliśmy stronę internetową działającą z określoną tożsamością w appool, dopiero po przyznaniu temu użytkownikowi dostępu do odczytu do folderu zawierającego sieć.config czy to działa. Namierzyliśmy to po dodaniu użytkownika "wszyscy" z read i wszystko działało dobrze.

 1
Author: rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-16 16:02:44

Dla mnie błąd pojawił się podczas debugowania na mojej lokalnej maszynie i okazał się związany z bazową siecią.config, który jest inicjowany przez. Net Framework podczas kompilacji strony. My C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config plik miał nierozpoznany element (folderLevelBuildProviders). Naprawiając to Naprawiono błąd 500.19.

Zobacz to: menedżer IIS nie może skonfigurować kompilacji. NET w aplikacjach. NET 4

 1
Author: Rafael Emshoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:31

Zmiana tożsamości modelu procesu na LocalSystem naprawiła ten problem. Możesz znaleźć to ustawienie, klikając prawym przyciskiem myszy pulę aplikacji i wybierając "Ustawienia zaawansowane". Uruchamiam IIS 7.5.

 1
Author: jshoaf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-03 17:28:20

Kliknij prawym przyciskiem myszy Web.Config = > Tab Security = > button Edit => button Add = > button Advanced = > Button Find Now = > w wynikach wyszukiwania wybierz swoją grupę (w naszym przypadku "IIS_IUSRS") = > Ok=> Ok = > Ok

 1
Author: Igor Levkivskiy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-05 07:30:15

Stało się tak, gdy aplikacja IIS ma wirtualny katalog z fizyczną ścieżką , która zawiera ukośniki do przodu/ zamiast ukośników \. Zostało to przypadkowo zrobione przy użyciu PowerShell management API dla IIS podczas naszego procesu ciągłej dostawy.

Zły Przykład Konfiguracji - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite/MyService" />
</application>

Upewnij się, że atrybut physicalPath nie zawiera ukośników /, tylko ukośniki \

Poprawiony Przykład Konfiguracji- applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite\MyService" />
</application>
 1
Author: SliverNinja - MSFT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-21 22:35:33

Rozwiązałem to dodając uprawnienia do odczytu do folderu dla użytkownika puli aplikacji (WIN SERVER 2008 R2): C:\Windows\System32\inetsrv\config

Trochę tła: Nasz serwer został zhakowany przy użyciu klasycznego błędu, w którym użytkownik aplikacji miał więcej uprawnień niż powinien (lokalny administrator).

Aby to naprawić stworzyliśmy nowego użytkownika domeny, który miał tylko uprawnienia do folderu aplikacji, z minimalnymi potrzebnymi uprawnieniami i przypisał go jako użytkownika puli aplikacji. niż trafiliśmy w numerze i to było rozwiązanie naszych problemów.

 1
Author: ludens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-19 09:36:07

Przenieś swój projekt na inny dysk niż C: Pracował dla mnie z tym samym błędem.

 1
Author: Talha Imam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-16 11:12:18

Przyjęte rozwiązanie nie dla mnie. Używam Git repo i jest on sklonowany do następującego folderu

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

Zrobiłem nową stronę IIS i skierowałem ją na ścieżkę. Które nie miały uprawnień iis_iusrs sugerowanych w zaakceptowanym rozwiązaniu. Kiedy dodałem uprawnienia, nadal nie działało.

Zaczęło działać dopiero, gdy nadałem następujące uprawnienia grupie 'Users' i dziedziczyłem kaskadowo uprawnienia do web.config. Prawdopodobnie powinien był zastosować go tylko do www.config, aby zmniejszyć powierzchnię ataku.

User Pemissions

 1
Author: Tom McDonald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-24 17:03:27

Zadbaj o swoją sieć.plik konfiguracyjny nie jest oznaczony jako Read-only

 1
Author: Oranit Dar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-27 09:36:18

Otrzymywałem również komunikat "Nie mogę odczytać pliku konfiguracyjnego z powodu niewystarczających uprawnień". Okazuje się, że ograniczenia ISAPI i CGI w IIS dla obu ASP.NET 4.0 32bit i 64bit został ustawiony na zaprzeczenie. Oznaczanie ich obu, aby pozwoliły rozwiązać mój problem.

 0
Author: Earl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-23 20:53:44

Wystąpił problem z aplikacją wirtualną. Wszystkie uprawnienia zostały ustawione. IIS_IUSRS, AppPoolIdentity, a następnie dał pełny dostęp do wszystkich. Nic nie działało. Zrestartowany apppool, site i IIS, ale nie działa.

Usunąłem aplikację wirtualną i dodałem ją ponownie od zera i zaczęła działać.

Chciałbym wiedzieć, co to rozwiązało.

 0
Author: gbs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-26 05:52:07

Sprawdź, czy plik nie jest oznaczony jako Tylko do odczytu , pomimo uprawnień IIS_IUSRS wyświetli ten sam komunikat.

 0
Author: Syed Umar Ahmed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-10 12:21:11

Miałem ten Komunikat o błędzie, który okazał się być spowodowane mój fizyczny folder znajduje się na dysku sieciowym, w przeciwieństwie do dysku lokalnego. Wydaje się, że uprawnienia na takich dyskach domyślnie mogą być różne. Na przykład, podczas gdy lokalizacja dysku lokalnego dawała uprawnienia użytkownikom komputera lokalnego, lokalizacja sieciowa nie.

Ponadto zaakceptowana odpowiedź nie działa w takim przypadku. Użytkownicy lokalni lub użytkownicy usług IIS nie byli dostępni do przypisywania uprawnień. Na rozwiązaniem było przeniesienie folderu fizycznego na dysk lokalny.

 0
Author: Kat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-16 15:23:54

Miałem ten sam problem i po zrobieniu wszystkich rzeczy napisanych tutaj jako odpowiedzi, to nadal reprodukowane. Druga połowa problemu polegała na tym, że. NET został wyłączony pod "Włącz lub wyłącz funkcje systemu Windows"

 0
Author: Bogdan Mates,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-14 07:33:25

Czasami jeśli jest to nowy serwer trzeba skonfigurować lub zainstalować ASP.NET funkcja na IIS, aby móc czytać Twoją sieć.plik konfiguracyjny.

W moim przypadku to był powód.

 0
Author: SanthoshM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-28 15:50:00

W moim przypadku próbowałem hostować strony z zmapowanego dysku (subst). Problem polega na tym, że subst został uruchomiony pod moim kontem i użytkownik IIS nie jest w stanie zobaczyć tego samego dysku

 0
Author: Dinesh Rajan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 02:56:43

Dałem pozwolenie i użyłem ICACLS.exe ale nie działa. Potem zmieniłem fizyczną ścieżkę i zadziałało pomyślnie.

(IIS 8.5 windows 2012 R2)

 0
Author: Adem Aygun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-15 10:32:40

Oczywiście, jest to problem z uprawnieniami. Podjąłem następujące kroki i zadziałało na mnie.

  1. Wybierz swoją stronę internetową lub aplikację w lewym rogu. W większości przypadków będzie to pod domyślną stroną internetową.
  2. Kliknij podstawowe ustawienia W prawym rogu w Menedżerze usług IIS 7 lub powyżej.
  3. Kliknij Połącz jako przycisk.
  4. Użyj "konkretny użytkownik", Kliknij przycisk Ustaw.
  5. wprowadź nazwę użytkownika i hasło. jak Domain\username . dla mnie to było jak ABC\rrajkumar, wprowadź hasło.
  6. Uruchom ponownie IIS, przeglądaj swoją stronę. Powinno zadziałać.
 0
Author: CredibleAshok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-16 07:00:54
  1. Przejdź do IIS, (sites)
  2. Kliknij prawym przyciskiem myszy projekt wewnątrz witryn.wpisz opis obrazka tutaj

I kliknij na uprawnienie do edycji.

  1. Idź do ochrony.

  2. Kliknij przycisk Edytuj.

  3. Kliknij przycisk Dodaj. type COMPUTER_NAME\IIS_USERS

    Lub

  4. Kliknij advance.

  5. Kliknij przycisk Znajdź teraz.

    I jest opcja do wyboru. wybierz IIS_USERS i kliknij ok...ok....ok .

 0
Author: subash adhikari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-04 08:12:41