2010-05-10 44 views
48

Possible Duplicate:
ASP MVC in IIS 7 results in: HTTP Error 403.14 - Forbidden403 - Bị cấm: Quyền truy cập bị từ chối. ASP.Net MVC

Tôi đã xuất bản ứng dụng của mình trên máy chủ. Khi tôi nhập tên miền của mình, tôi gặp lỗi này:

403 - Bị cấm: Quyền truy cập bị từ chối. Bạn không có quyền xem thư mục hoặc trang này bằng thông tin đăng nhập mà bạn đã cung cấp.

Điều gì sẽ xảy ra?

+0

là iis của bạn chỉ đến đúng địa điểm? tôi đã từng gặp lỗi này khi tôi (nhầm lẫn) chỉ vào một thư mục trống. – robasta

+0

Điều này đã giúp tôi: http://stackoverflow.com/questions/1741439/asp-mvc-in-iis-7-results-in-http-error-403-14-forbidden –

+2

vấn đề của chúng tôi thiếu tệp global.asax trong xuất bản triển khai thư mục – sasjaq

Trả lời

10

Bạn có đang lưu trữ trang web trên iis không? nếu vậy hãy đảm bảo tài khoản mà trang web của bạn chạy dưới quyền truy cập vào hệ thống tệp cục bộ?

Trực tiếp từ 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.

Để cung cấp quyền truy cập vào một ứng dụng ASP.NET chạy như dịch vụ mạng, bạn phải cấp quyền truy cập vào tài khoản dịch vụ mạng.

cấp đọc, viết và sửa đổi quyền vào một tập tin cụ thể

  • Trong Windows Explorer, xác định vị trí và chọn tập tin cần thiết.
  • Bấm chuột phải vào tệp, rồi bấm Thuộc tính.
  • Trong hộp thoại Thuộc tính, hãy nhấp vào tab Bảo mật.
  • Trên tab Bảo mật, kiểm tra danh sách người dùng. Nếu tài khoản Mạng
  • không được liệt kê, hãy thêm nó.
  • Trong hộp thoại Properties, nhấp vào tên người dùng dịch vụ mạng, và trong các Cấp phép cho phần NETWORK SERVICE , chọn Đọc, Viết, và Sửa cho phép.
  • Bấm Áp dụng, rồi bấm OK.

Bấm here để biết thêm

3

tôi đã cùng một vấn đề (trên windows server 2003), kiểm tra trong IIS Manager Console nếu bạn đã cho phép mở rộng dịch vụ v4 ASP.NET (dưới IIS mở rộng dịch vụ/ComputerName/Web)

10

Ngoài các câu trả lời ở trên, bạn cũng có thể nhận được lỗi rằng khi bạn có Windows Authenticaton bộ và:

  • IIS được trỏ đến một thư mục trống.
  • Bạn không có bộ tài liệu mặc định.
+3

Điều này có thể xảy ra ngay cả khi đã bật truy cập ẩn danh và cửa sổ auth bị tắt nếu bạn không có bộ tài liệu mặc định. Ví dụ nếu bạn chạy một ứng dụng php và không có index.php cho phép IIS sẽ cố gắng để phục vụ danh sách thư mục, mà thường bị vô hiệu hóa là tốt. Trong trường hợp đó ngay cả khi truy cập anon bạn sẽ nhận được trang bị cấm 403. Đó là một pita thực sự cho những người không quen thuộc với IIS vì 99% kết quả tìm kiếm sẽ chỉ cho bạn các thiết lập ACL như câu trả lời của almagori. –

+1

Tôi yêu bạn! Giải pháp của tôi thực sự nằm trong thư mục cấp 2. – Ghost

+0

nó cũng có thể xảy ra khi bạn cố gắng sử dụng index.php thay vì index.html vì có vẻ như hỗ trợ php thường không được thực hiện theo mặc định – Fanky

74

Một điều bạn có thể thử là setting the "Run All Managed Modules for All Requests" option dưới trong Web.config của Application của bạn.

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

Bạn cần mô-đun được quản lý để chạy trên yêu cầu đến nếu bạn yêu cầu Xác thực biểu mẫu truy cập ứng dụng của bạn, vì Xác thực biểu mẫu là một mô-đun được quản lý. Vì vậy, nếu bạn đang yêu cầu Xác thực Mẫu, nhưng mô-đun đó không chạy, IIS chỉ đưa ra lỗi 403 vì nó không thể giúp bạn có được loại xác thực mà ứng dụng yêu cầu.

+1

Điều này làm việc cho tôi. Tôi tự hỏi nếu nó có một cái gì đó để làm với thực tế là các ứng dụng tôi đã được triển khai trong một thư mục con, và xung đột với một web.config cha mẹ. – Chris

+4

đây không phải là giải pháp thực tế. Gây tải trọng lớn trên máy chủ – abzarak

+1

Đồng ý với những gì @abzarak đã đề cập. Cẩn thận với việc upvoting câu trả lời này. Đây có thể là giải pháp tốt nhưng không phải là giải pháp tốt. – hina10531

8

Tôi vừa gặp sự cố này, đó là do trang web IIS đang trỏ sai Hồ bơi ứng dụng.

Các vấn đề liên quan