2012-06-11 40 views

Trả lời

12

Tôi đã vật lộn với vấn đề này một thời gian. Tìm thấy một số giải pháp trên web có liên quan đến việc thiết lập quyền trên thư mục "Tệp ASP.NET tạm thời" trong thông báo lỗi. Nhưng thậm chí mở nó lên để "Mọi người" đã không làm việc.

Sau đó, cuối cùng các bước sau cố định nó:

  1. Đến IIS AppPool cho trang web này
  2. Kích chuột phải vào ứng dụng hồ bơi và đi đến Advanced Settings
  3. Thay đổi nhận dạng từ "ApplicationPoolIdentity" để "NetworkService"

Cũng có thể có một số bước cần thiết khác mà tôi đã thực hiện trong khi khắc phục sự cố, nhưng đây là bước quan trọng. Vì lý do nào đó, App Pool Identity (chẳng hạn như IIS_APPPOOL \ SiteName) không được cấp quyền truy cập khi "Everyone". Tôi chắc rằng một người khác có thể làm sáng tỏ một số lý do tại sao đây là trường hợp ... Hy vọng điều này sẽ giúp người khác giải quyết vấn đề khó chịu này.

+0

Điều này đã hiệu quả. Cảm ơn. :) – pordi

+1

không hoạt động đối với tôi –

+0

là bình thường khi bạn làm điều này, số lượng ứng dụng của bạn được chuyển thành 0 nhưng khi bạn kiểm tra ứng dụng của bạn, tất cả đều ở đó? – Crismogram

20

Sau khi chi tiêu giờ về vấn đề này bản thân mình dưới đây là giải pháp mà làm việc cho tôi trên Windows 7 chạy IIS 7.5:

Hồ bơi sắc ứng dụng liên quan đến các trang web không phải là một thành viên của nhóm IIS_IUSRS. Để thêm nhận dạng nhóm ứng dụng vào nhóm, tôi đã sử dụng các bước sau:

  1. Từ trình đơn bắt đầu chọn Run… enter lusrmgr.msc và nhấp OK.
  2. Chọn nhóm.
  3. Nhấp đúp vào nhóm IIS_IUSRS.
  4. Nhấp vào nút Thêm ....
  5. Nhấp vào nút Vị trí ....
  6. Chọn tên máy tính của bạn (tên cần nằm ở đầu danh sách) và nhấp OK.
  7. Trong hộp văn bản bên dưới "Nhập tên đối tượng cần chọn", nhập: iis apppool \ < nhận dạng hồ bơi ứng dụng > ví dụ: iis apppool \ dev
  8. Nhấp vào nút Kiểm tra tên. Nếu hộp thoại Tên Không tìm thấy xuất hiện, hãy xác minh rằng danh tính của ứng dụng được nhập phù hợp với danh tính của hồ bơi ứng dụng được liên kết với trang web. Nếu một hộp thoại không xuất hiện thì bấm OK.

Lặp lại các bước từ 7 đến 8 cho mỗi danh tính của hồ bơi ứng dụng mà bạn muốn thêm. Nhấp vào OK.

Bây giờ, bản sắc của hồ bơi ứng dụng là thành viên của nhóm IIS_IUSRS nên đã có quyền truy cập vào thư mục Tệp ASP.NET tạm thời. Sau khi tất cả những gì tôi vẫn nhận được lỗi và tôi tìm thấy (nhờ process monitor) đó là vì bản sắc hồ bơi ứng dụng không thể ghi vào thư mục temp cửa sổ. Để giải quyết vấn đề này, tôi đã thêm nhóm IIS_IUSRS vào thư mục temp của windows với quyền đọc/ghi.

  1. Từ trình đơn bắt đầu, chọn Chạy… nhập% windir% và nhấp OK.
  2. Nhấp chuột phải vào thư mục Temp và chọn Thuộc tính.
  3. Nhấp vào tab Bảo mật.
  4. Nhấp vào nút Chỉnh sửa ....
  5. Nhấp vào nút Thêm ..
  6. Nhấp vào nút Vị trí ....
  7. Chọn tên máy tính của bạn (tên cần nằm ở đầu danh sách) và nhấp OK.
  8. Trong hộp văn bản bên dưới "Nhập tên đối tượng cần chọn", nhập: iis_iusrs
  9. Nhấp vào nút Kiểm tra tên. Nếu hộp thoại Không tìm thấy tên xuất hiện, hãy kiểm tra lỗi chính tả. Nếu một hộp thoại không xuất hiện thì bấm OK.
  10. Chọn nhóm IIS_IUSRS đã thêm và trong hộp Quyền cho mọi người bên dưới chọn: Cho phép đọc và cho phép viết
  11. Nhấp vào OK. Một hộp thoại sẽ được hiển thị cho biết rằng "Bạn sắp thay đổi cài đặt quyền trên các thư mục hệ thống, điều này có thể dẫn đến các sự cố truy cập bất ngờ và giảm bảo mật. Bạn có muốn tiếp tục không?"
  12. Bấm Yes
  13. Bấm OK
+0

Đây là những hướng rất tốt. Ngoài ra, mặc dù tôi đã phải sử dụng tiện ích Process Monitor của System Internal và lọc cho Access Denied Results cho quá trình w3wp.exe và csc.exe khi cố tải trang web, sau đó cấp quyền truy cập sửa đổi cho đường dẫn thư mục bị từ chối truy cập cho nhóm IIS_IUSRS. – eniac

+0

Đã lưu ngày của tôi! Chỉ có một điều thêm tôi đã làm để làm cho nó làm việc cho tôi, tôi cho phép IIS_IUSRS sự cho phép của "sửa đổi" – Franva

+0

làm việc. cảm ơn bạn :)))) –

14

Tôi đã khắc phục thiết lập kiểm soát đầy đủ cho 'MẠNG DỊCH VỤ' với hệ thống tạm thời vấn đề này:

C: \ Windows \ temp

Thông báo lỗi được báo cáo bởi máy chủ web có chút sai lệch. Hy vọng điều này sẽ hữu ích.

+0

Có thể hoạt động, nhưng nhiều người sẽ gặp lỗi khi áp dụng lỗi bảo mật –

+1

Tôi đã thử tải nhiều thứ. Nhưng cuối cùng giải pháp này làm việc cho tôi. Cảm ơn @Jako. –

1

Tôi thấy câu trả lời được chấp nhận trên bài đăng này là chính xác trong quá trình. Tôi đã thử "NetworkService" và nó không hoạt động. Tuy nhiên "LocalSystem" đã làm!

+0

Chào mừng bạn đến với trang web! [Vui lòng sử dụng Câu trả lời dành riêng để trả lời câu hỏi] (// meta.stackoverflow.com/q/92107). Để phê bình hoặc yêu cầu làm rõ từ tác giả, để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và sau khi bạn có [đủ danh tiếng] (// stackoverflow.com/help/whats-reputation), bạn sẽ có thể để [nhận xét về bất kỳ bài đăng nào] (// stackoverflow.com/help/privileges/comment). Trong thời gian chờ đợi, vui lòng không sử dụng câu trả lời để đăng nhận xét. – Mogsdad

8

Tôi đã gặp vấn đề tương tự. Tìm thấy một cách dễ dàng để giải quyết: Đặt "Tải hồ sơ người dùng" thành true trong cài đặt nâng cao của hồ bơi ứng dụng.

0

Tôi có tất cả các quyền về viết và đọc nhưng tôi bắt đầu nhận được lỗi đó.

Tôi có thể đề nghị "máy khởi động lại" Ít nhất, nó làm việc cho tôi

1

Đối Windows 7 Đặt Full Control Quyền vào thư mục C:\Windows\Temp cho người dùng IIS_IUSRS

Network Service người dùng thường chỉ áp dụng trên các máy chủ

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