Tôi đã tạo trang ASP.NET Intranet ASP.NET MVC với Xác thực Windows được bật:ASP.NET MVC 3 Intranet site trên IIS7.5 w Xác thực Windows cho 401.3 và ủy quyền tệp không thành công cho yêu cầu khi cố gắng đăng nhập
- trong các thuộc tính tập tin dự án Visual Studio
- trong web.config, tức là
<authentication mode="Windows"/>
- trên các thuộc tính trang web trong IIS 7.5. máy chủ
Truy cập ẩn danh bị vô hiệu hóa cho cả ba điều này ở trên, web.config cho biết <deny users="?"/>
. Mạo danh bị tắt trong web.config theo nhận dạng <impersonate="false"/>
và trên thuộc tính trang web trong máy chủ IIS 7.5. Và cuối cùng, DỊCH VỤ MẠNG được thiết lập để chạy hồ bơi ứng dụng và cũng đã đọc trên thư mục trang web (không chắc chắn nếu nó cần thiết, bạn nói với tôi, nhưng nó chắc chắn không đủ để giải quyết vấn đề của tôi dưới đây).
Bây giờ, khi đăng nhập thông qua hộp thoại Xác thực Windows tiêu chuẩn, người dùng miền được hiển thị với lỗi 401.3 sau ba lần đăng nhập hợp lệ. Điều này có vẻ là trước khi thậm chí đạt đến mã trang web MVC của tôi, tức là nó có vẻ hoàn toàn liên quan đến IIS. Nhật ký sự kiện cung cấp cho các loại sau đây của entry (đó là một mục thông tin, không phải là một lỗi, và tôi đã obfuscated nó một chút để bảo vệ khách hàng của tôi) cho tất cả người dùng đã cố gắng đăng nhập:
Event code: 4008
Event message: File authorization failed for the request.
Event time: 2012-02-20 18:45:41
Event time (UTC): 2012-02-20 17:45:41
Event ID: 6dd3b4bf99784ba1a0fe06694dd89691
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-1-129742335229554599
Trust level: Full
Application Virtual Path:/
Application Path: D:\Public\BlahblahManager\
Machine name: HUB01-XYZ123
Process information:
Process ID: 2920
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Request information:
Request URL: http://blahblahmanager.user.ad.blah.com/
Request path:/
User host address: 134.XXX.XXX.XXX
User: USER-AD\teh-user
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Custom event details:
Chỉ khi tôi dành riêng cho người dùng USER-AD\teh-user
hoặc USER-AD\Domain
sự cho phép Read
trên thư mục gốc của trang web (D: \ Public \ BlahblahManager) mà người dùng có thể đăng nhập và thực sự thấy trang web.
Tại sao điều này? Phải có một số loại cấu hình mà tôi đang thiếu. Không phải là nó đủ để các dịch vụ mạng đã đọc trên thư mục gốc của trang web? Tôi đã google này một thời gian, và mạo danh được đề cập ở đây và ở đó, nhưng ban giám khảo vẫn còn ra có vẻ như. Một số trang web tuyên bố rằng bạn nên đi với mạo danh và họ cung cấp các ví dụ về cách thực hiện, nhưng khi tôi thử các ví dụ, nó vẫn không hoạt động. Các trang web khác cho rằng mạo danh KHÔNG phải là cách để đi và bạn CẦN cấp quyền thư mục trong các trường hợp này. Nhưng điều đó dường như là một điều kỳ lạ để làm. Người dùng không có doanh nghiệp trên máy chủ thực tế, họ chỉ nên làm việc qua trang web.
Mọi đề xuất? Thông thường, số lượng cấu hình tối thiểu cần để làm việc này là gì? Bất kỳ lời khuyên nào về cách khắc phục sự cố loại này và tìm ra nguyên nhân gốc rễ?
Bạn đã từng giải quyết vấn đề này chưa? – DaveHogan
Tôi đã giải quyết nó bằng một công việc xung quanh sẽ không giúp ích gì trong trường hợp chung (rất cụ thể theo từng khách hàng). Các câu trả lời được đề xuất cho đến nay không giúp được gì nhiều: ( –
Tôi có cùng một sự cố ('Không thể ủy quyền tệp cho các yêu cầu' với người dùng đã xác thực được liệt kê và Dịch vụ Mạng làm nhận dạng chuỗi, chạy ứng dụng nhóm dưới dạng NetworkService, IIS 7.5, 401 lỗi sau Hiện tại, cách duy nhất để có được nó là cấp cho mọi người (hoặc một nhóm người dùng cụ thể) truy cập vào các tệp, điều này có vẻ là một giải pháp khủng khiếp. Tôi đã cài đặt cùng một ứng dụng trên nhiều máy chủ khách hàng và không cần thiết Có thể là một cái gì đó đặc biệt với IIS 7.5 mặc dù tôi đã cài đặt ở đó trước đây và không nhớ lại vấn đề này – Rory