Это может не сработать для всех, но поскольку в моем случае HTTP-аутентификация была в основном установлена только для того, чтобы не допустить многократных попыток людей на странице входа в систему, я фактически удалил базовую аутентификацию с сайта и всех узлов виртуального каталога.
Затем я добавил его только на используемую ~ / [страницу входа]. Поскольку проверка подлинности с помощью форм использовалась, все неаутентифицированные пользователи перенаправляются на страницу входа и получают базовую проверку подлинности. Поскольку запрос перенаправленной страницы должен быть общедоступным, я просто добавил его в качестве исключения в Web.config. Маршрутизированные значения должны соответствовать очень строгим критериям, чтобы их даже выполняла логика страницы, а все остальное возвращается обработчиком как 404.
Очевидно, это означает, что dll asp.net выполняется до базовой безопасности IIS, когда запросы перенаправляются на страницу входа, но в этом случае я думаю, что все в порядке.