Một đồng nghiệp đã hỏi tôi hôm nay cách định cấu hình IIS 7.5 để sử dụng xác thực Windows tích hợp với mạo danh cho trang web mạng nội bộ đơn giản chỉ với nội dung tĩnh bị hạn chế đối với một nhóm cụ thể trong Active Directory (ví dụ: "Quản trị viên").Cấu hình xác thực IIS Windows để trả về HTTP 403 thay vì HTTP 401 cho phép người dùng đã xác thực
Chỉ ra rằng IIS gửi phản hồi HTTP 401 khi người dùng được xác thực không có quyền đối với tài nguyên yêu cầu. Sự cho phép bị từ chối có thể là kết quả của một tệp ACL NTFS, hoặc một ACL system.webServer/security/authorization
được định nghĩa trong cấu hình IIS.
Tất cả các trình duyệt chính dường như diễn giải 401 này có nghĩa là người dùng cuối cung cấp thông tin đăng nhập tên người dùng/mật khẩu Windows không hợp lệ và do đó nhắc người dùng nhập tên người dùng/mật khẩu của họ. IE dường như nhắc tới 3 lần trước khi hiển thị nội dung/nội dung phản hồi 401. Chrome và Safari dường như liên tục nhắc người dùng.
Điều này có thể gây nhầm lẫn cho người dùng cuối, những người liên tục nhập tên người dùng/mật khẩu Windows hợp lệ, chỉ để được nhắc lại.
Cách tốt hơn sẽ cho IIS để trả về một HTTP 403 thay vì một HTTP 401:
403 Forbidden
Máy chủ hiểu yêu cầu, nhưng từ chối đáp ứng nó. Ủy quyền sẽ không trợ giúp và yêu cầu được lặp lại NÊN KHÔNG.
Nguồn: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4
Làm thế nào để bạn cấu hình IIS tích hợp Windows Authentication để gửi HTTP 401 cho lỗi đăng nhập và HTTP 403 cho phép từ chối?
này trông giống như một câu trả lời cho một vấn đề Tôi đang gặp. Ai có thể giải thích nơi các tập tin này được và/hoặc làm thế nào tôi kiểm tra chế độ đường ống. Ngoài ra nếu tôi muốn cho phép điều này cho tất cả mọi người thay vì chỉ bán hàng, làm thế nào để làm điều đó, hoặc tôi có thể chỉ để lại một phần ... – Rothrock
@Rothrock Chỉ cần có điều này với IIS 8.5. Đã lãng phí 1,5 h để tìm ra lý do tại sao IIS đã từ chối vé Kerberos xuyên rừng của tôi với 401 thay vì cho tôi 403. Đây là lỗi, có cách nào tốt hơn để giải quyết vấn đề này không? 401 rõ ràng là mã trạng thái sai. Trông giống như một trò đùa MS điển hình với tôi. –