Я работаю над проектом с некоторыми коллегами, использующими ASP MVC 5, и мы используем много общих библиотек Javascript из общедоступных CDN.Я настроил и включил CORS, и все работает отлично, за исключением этого конкретного случая, и мы несколько озадачены на этом этапе.
Приложение использует ASP.NET Identity 2, а некоторые функции зависят от функции олицетворения.Базовая реализация, как правило, следует следующим ответам: Как использовать ASP.NET Identity 2.0, чтобы позволить пользователю выдавать себя за другого пользователя?
Интерфейс использует запись AJAX с токенами защиты от подделки дляКонечная точка WebAPI (после этой конкретной реализации: https://stackoverflow.com/a/24394578/5330050). Чтобы новый идентификатор вступил в силу, приложение выполняет window.location.reload(true);
.
Именно в этот момент Firefox блокирует все запросы CORS (всеиз них запросы на библиотеки и платформы, размещенные на CDN). Это конкретная ошибка (одинаковая для всех запросов, разные библиотеки, один и тот же домен):
Блокировка перекрестного запроса: То жеПолитика происхождения запрещает чтение удаленного ресурса на https://cdnjs.cloudflare.com/{some.js}. (причина: запрос CORS не был выполнен)
Эта проблема возникает только в Firefox. И она продолжает блокировать эти ресурсы, даже если я пытаюсьперейдите на другую страницу в приложении. Если я не очистил кеш (но не куки, чтобы личность все еще сохранялась), то накануневсе в порядке снова.
Нет ничего особенного в том, как называются эти ресурсы.Это не запрос POST.Это просто там, в <head>
, например:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
Вещи, которые работают, чтобы решить его (но неприемлемо, поскольку пользовательский опыт обеспокоен)
Очистить кеш (но не куки)
Подождите 5 минут (чтобы забыть Firefox? Сеанс на сервере установлен на 12 часов)
Я действительно не знаю, в чем причина, и я ценю любую помощь в поиске обходного пути или подсказки относительно того, где я мог бы найти решение.