Tôi có ứng dụng ASP.NET MVC 4 (.NET 4.5) và SIgnalR hoạt động tốt với xác thực dựa trên biểu mẫu (được lưu trữ qua IIS/IIS Express)SignalR không hoạt động với xác thực tích hợp Windows
Ngay sau khi tôi thay đổi ứng dụng thành xác thực tích hợp cửa sổ (<authentication mode="Windows"/>
trong "web.config") nó ngừng hoạt động.
jquery.signalR-2.2.2.min.js: 9 kết nối WebSocket để
ws://localhost:51030/signalr/connect?transport=webSockets&blhablahblah
thất bại: Lỗi trong WebSocket handshake: mã phản hồi mong đợi: 403
Sau khi thêm thuộc tính [Authorize]
đến trung tâm của tôi, lỗi sẽ thay đổi thành
Kết nối WebSocket với
ws://localhost:51030/signalr/connect?transport=webSocketsblahblah
không thành công: Xác thực HTTP không thành công; không có chứng chỉ hợp lệ có sẵn
phần khác của ứng dụng đang làm việc tốt, cửa sổ-auth được kích hoạt trên máy chủ và các công trình, vv vv
Làm thế nào để giải quyết này?
Và nếu không thể giải thích được vì lý do nào đó (có thể Chrome không hỗ trợ auth trên kết nối websocket hoặc cái gì khác) - tại sao nó không rơi trở lại giao thức không phải websocket? và làm cách nào để buộc dự phòng?
CẬP NHẬT: Tôi đã tạo một vấn đề github https://github.com/SignalR/SignalR/issues/3953. Vấn đề không phải là tôi không thể kết nối. Vấn đề là tôi không thể xử lý lỗi để quay trở lại phương tiện khác. Không phải .fail()
không phải .error()
đang được gọi. Try-catch cũng không giúp được gì.