ASP.NET MVC Urls и IIS Встроенная проверка подлинности Windows

У меня есть приложение ASP.NET MVC, полностью зависящее от проверки подлинности с помощью форм. Однако существует один набор маршрутов (/ report /%), для которого требуется принудительная интеграция проверки подлинности Windows, поскольку эти страницы должны олицетворять текущего пользователя (по соображениям безопасности).

Если я настроил весь сайт на интегрированную проверку подлинности Windows, все это работает, за исключением того, что firefox дважды запрашивает пользователей для имени пользователя / пароля, когда они попадают на домашнюю страницу сайтов (один раз для проверки подлинности Windows, а затем для проверки подлинности форм), тогда как IE только запрашивает проверка подлинности форм. Это нормально, и я знаю, что это поведение Firefox по умолчанию, однако, чтобы не использовать анонимных пользователей, мне было предложено ограничить требование проверки подлинности Windows только секцией / report / * сайта, поэтому они получают только запрос, если они переходят на любую страницу в / report /%.

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

asp.net,asp.net-mvc,iis,windows-authentication,

6

Ответов: 1


5 ов

Совсем недавно я должен был сделать что-то подобное. У меня было требование аутентификации форм для большей части моего приложения ASP.NET MVC с одной частью, требующей проверки подлинности Windows.

То, что я закончил, - это разделить мое веб-приложение на два проекта.

Первый проект был размещен в корневом каталоге веб-сайта в рамках IIS. Это была проверка подлинности с помощью форм.

Второй проект был размещен как виртуальный каталог того же веб-сайта. Это была проверка подлинности Windows.

Единственным компромиссом является то, что вы можете получить URL-адрес / reports / reports /% (или что бы вы ни называли виртуальным каталогом)

asp.net, asp.net-MVC, Iis, окна-аутентификации,
Похожие вопросы
Яндекс.Метрика