Chúng tôi có một ứng dụng ASP.NET được bảo vệ bởi xác thực biểu mẫu. Ứng dụng sử dụng MS AJAX rất nhiều để gọi các dịch vụ web của nó.Xác thực biểu mẫu và yêu cầu POST từ AJAX
Khi xác thực biểu mẫu hết giờ và GET -yêu cầu xảy ra - tất cả đều ổn (người dùng được chuyển hướng đến trang đăng nhập).
NHƯNG khi các hình thức xác thực lần ra ngoài và một POST -request xảy ra (ajax) - không chuyển hướng xảy ra, thay vì trở về ứng dụng "401 unathorized" và trình duyệt sẽ nhắc cho tên người dùng và mật khẩu (không phải là một hình thức đăng nhập , nhưng một hộp thoại tích hợp trình duyệt). Tất nhiên, nhập tên người dùng/mật khẩu không bao giờ hữu ích.
Làm cách nào để xử lý việc này?
CẬP NHẬT: Sau khi tìm kiếm bằng firebug, tôi phát hiện ra rằng các yêu cầu POST thường xuyên chuyển hướng để đăng nhập tốt, chỉ có các cuộc gọi dịch vụ web ném "401 Unauthorizes". Sự khác biệt giữa yêu cầu thông thường và dịch vụ web là URL. Đó là "page.aspx" cho một thường xuyên sau yêu cầu và "service.asmx/methodname" cho webservices ...
Bạn đã xem FireBug có thực sự được gửi tới máy chủ hay không và những gì nó phản hồi? Lời nhắc được tạo sẵn của trình duyệt thường có nghĩa là tài nguyên bạn đang cố truy cập được bảo vệ bằng xác thực cơ bản hoặc NTLM. Bạn đã bật xác thực như vậy cho các phần của trang web của mình chưa? –
Có, trong cài đặt IIS, chúng tôi có "cửa sổ tích hợp" authenticaiton trên (cùng với "truy cập ẩn danh"). Cảm ơn, tôi sẽ thử Firebug – Alex