У меня есть приложение ASP.NET MVC, полностью поддерживающее проверку подлинности с помощью форм. Однако есть один набор маршрутов (/ report /%), для которого мне нужно включить встроенную проверку подлинности Windows, поскольку эти страницы должны выдавать себя за текущего пользователя (по соображениям безопасности).
Если я установил для всего сайта встроенную аутентификацию Windows, это все работает, за исключением того, что Firefox запрашивает у пользователя имя пользователя / пароль дважды, когда они попадают на домашнюю страницу сайта (один раз для аутентификации Windows, затем снова для аутентификации форм), тогда как IE запрашивает только аутентификацию форм. Это нормально, и я знаю, что это стандартное поведение Firefox, однако, чтобы не раздражать пользователей, меня попросили ограничить требование проверки подлинности Windows только разделом / report / * сайта, поэтому они получают запрос только в том случае, если они идут на любую страницу в /report/%.
В ASP.NET WebForms это достаточно просто, поскольку есть физическая папка / папка для размещения конфигурации аутентификации, но в MVC этот URL-адрес является виртуальным, поэтому я не могу этого сделать. Кто-нибудь знает хороший способ сделать это? Я попытался создать страницу aspx «шлюза», через которую пользователи должны сначала пройти, прежде чем перенаправить на соответствующую страницу отчета, и хотя Firefox действительно запрашивает у пользователя свои учетные данные Windows в нужной точке, похоже, он не сохраняет отправка этих данных для последующих запросов на любую из страниц / report /%. Есть идеи? Был бы супер признателен!