2010-05-10 20 views
48

Possible Duplicate:
ASP MVC in IIS 7 results in: HTTP Error 403.14 - Forbidden403 - Zabronione: Odmowa dostępu. ASP.Net MVC

Opublikowałem moją aplikację na serwerze. Kiedy wchodzę do mojej domeny, mam ten błąd:

403 - Zabronione: odmowa dostępu. Nie masz uprawnień do wyświetlania tego katalogu lub strony przy użyciu poświadczeń, które podałeś.

Co się stało?

+0

Czy Twoja wizytówka wskazuje właściwe miejsce? raz dostałem ten błąd, gdy (błędnie) wskazałem na pusty folder. – robasta

+0

Pomogło mi to: http://stackoverflow.com/questions/1741439/asp-mvc-in-iis-7-results-in-http-error-403-14-forbidden –

+2

Naszym problemem był brak pliku global.asax opublikowany folder wdrażania – sasjaq

Odpowiedz

10

Czy prowadzisz stronę na iis? jeśli tak, upewnij się, że konto, na którym działa Twoja witryna, ma dostęp do lokalnego systemu plików?

Prosto z MSDN .....

The Network Service account has Read and Execute permissions on the IIS server root folder by default. The IIS server root folder is named Wwwroot. This means that an ASP.NET application deployed inside the root folder already has Read and Execute permissions to its application folders. However, if your ASP.NET application needs to use files or folders in other locations, you must specifically enable access.

Aby zapewnić dostęp do aplikacji ASP.NET uruchomiony jako usługa sieciowa, należy przyznać dostęp do konta Usługa sieciowa.

Aby udzielić odczytu, zapisu i modyfikowania uprawnień do konkretnego pliku

  • w Eksploratorze Windows zlokalizuj i wybierz żądany plik.
  • Kliknij ten plik prawym przyciskiem myszy, a następnie kliknij polecenie Właściwości.
  • W oknie dialogowym Właściwości kliknij kartę Zabezpieczenia.
  • Sprawdź na karcie Zabezpieczenia listę użytkowników. Jeśli konta usługi sieciowej nie ma na liście, dodaj ją.
  • W oknie dialogowym Właściwości kliknij nazwę użytkownika usługi sieciowej, aw sekcji uprawnienia dla usługi NETWORK SERVICE wybierz uprawnienia do odczytu, zapisu i modyfikowania.
  • Kliknij przycisk Zastosuj, a następnie kliknij przycisk OK.

Kliknij here dłużej

3

miałem ten sam problem (na serwerze Windows 2003), sprawdź w konsoli IIS jeśli pozwoliły rozszerzenie ASP.NET usług v4 (pod IIS/nazwa_komputera/Rozszerzenia usługi sieci Web)

10

Oprócz powyższych odpowiedzi, można również uzyskać ten błąd, gdy masz zestaw Authenticaton Windows, a następnie:

  • IIS jest skierowany do pustego folderu.
  • Nie masz domyślnego zestawu dokumentów.
+3

Może się to zdarzyć nawet przy włączonym dostępie anonimowym i automatycznym wyłączaniu systemu Windows, jeśli nie masz domyślnego zestawu dokumentów. Na przykład, jeśli uruchomisz aplikację php i nie masz włączonego index.php, usługi IIS spróbują wyświetlić listing katalogu, który jest zwykle również wyłączony. W takim przypadku nawet przy dostępie anon dostaniesz 403 zabronioną stronę. To prawdziwa pita dla tych, którzy nie znają IIS, ponieważ 99% wyników wyszukiwania wskaże Ci ustawienia ACL, takie jak odpowiedź almagori. –

+1

Kocham cię! Moje rozwiązanie znalazło się w folderze na drugim poziomie. – Ghost

+0

może się również zdarzyć, gdy spróbujesz użyć index.php zamiast index.html, ponieważ wydaje się, że wsparcie php zazwyczaj nie jest domyślnie realizowane – Fanky

74

Kolejną rzeczą, którą możesz wypróbować, jest setting the "Run All Managed Modules for All Requests" option w pliku Web.config aplikacji.

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"></modules> 
    <handlers> 
     <remove name="UrlRoutingHandler"/> 
    </handlers> 
    </system.webServer> 

Trzeba zarządzanych moduły do ​​uruchamiania na przychodzących żądań, jeśli wymagają uwierzytelniania formularzy aby uzyskać dostęp do aplikacji, ponieważ Forms Authentication jest zarządzany moduł. Jeśli więc potrzebujesz uwierzytelniania za pomocą formularzy, ale ten moduł nie działa, usługi IIS powodują błąd 403, ponieważ nie pozwalają uzyskać uwierzytelnienia wymaganego przez aplikację.

+1

To działało dla mnie. Zastanawiam się, czy miało to związek z faktem, że aplikacja, którą wdrażałem, znajdowała się w podkatalogu i była w konflikcie z nadrzędnym plikiem web.config. – Chris

+4

to nie jest właściwe rozwiązanie. Powoduje ogromne obciążenie na serwerze – abzarak

+1

Uzgodnione z tym, o czym wspomniał @ABzarak. Uważaj na tę odpowiedź. Może to być dobrym rozwiązaniem, ale nie dobrym rozwiązaniem. – hina10531

8

Po prostu miałem ten problem, ponieważ witryna IIS wskazywała na niewłaściwą pulę aplikacji.

Powiązane problemy