signalR CORS — клиент IE получает 403 «Запрещено: JSONP отключен»

Мы внедрили концентратор SignalR 2.0 с включенным CORS. Клиенты Javascript в Firefox и Chrome работают нормально. IE 10 выдает ошибку 403.

Любая помощь будет оценена. Спасибо и привет.


person devGeek    schedule 21.07.2014    source источник


Ответы (1)


Хотя IE 10 (но не IE ≤9) должен поддерживать CORS, если вам нужно использовать JSONP, вы можете включить его при вызове MapSignalR.

Включение JSONP позволяет получить доступ к вашему приложению SignalR из любого источника при отправке файлов cookie/учетных данных. С помощью CORS вы можете ограничить, какие источники могут получить доступ к вашему приложению SignalR, следует ли отправлять файлы cookie/учетные данные с запросами между источниками и т. д. Поскольку JSONP нельзя настроить для соответствия более точным политикам безопасности, которые стали возможными благодаря CORS, JSONP необходимо включать отдельно:

app.MapSignalR(new HubConfiguration 
{
    // You can enable JSONP by uncommenting line below.
    // JSONP requests are insecure but some older browsers (and some
    // versions of IE) require JSONP to work cross domain
    EnableJSONP = true
});

Если вы используете PersistentConnection, замените HubConfiguration на ConnectionConfiguration.

Вы можете узнать больше о установить междоменное подключение SignalR здесь.

person halter73    schedule 22.07.2014