Интегрированная аутентификация Windows Per-App Если пользователь отменяет запрос, могу ли я перенаправить их на другую страницу?

StackOverflow https://stackoverflow.com/questions/2541701

Вопрос

РЕДАКТИРОВАТЬ ~ Обновлено название и тело вопроса: это редактирование.

Я хочу это поведение на приложение на IIS6/7. Первоначально я спросил это до того, как мы перешли на IIS7, поэтому между ними можно изменить любой ответ (я немного узнал о IIS7;]), но я ищу ответ, который работает.

Мне нужно перенаправить на одно приложение, а не на сервер на основе отмены пользователя 401 AUTH запрос (что означает 401.1 Код ошибки). Надеюсь это поможет.


На IIS6, используя аутентификацию NTLM (означает интегрированную аутентификацию Windows) Если пользователь отменяет запрос на аутентификацию, как я могу перенаправить их на другую страницу? Я не могу просто взять 401 (попробовал) или 401.1 (не int) в веб -сайте.

Я не могу перенаправить, если проблема является статусом 401, потому что я намеренно настаиваю на 401, чтобы получить ответ, да? Так как же захватить, когда они отменили в браузере Challenge?

Чтобы подтвердить, что мне ясно: если я открою Firefox и перейду на страницу IWA, это показывает мне диалог (при условии, что я не настроил это в About: config) и я ключ к учетным данным Windows. Я хочу помешать им остановить эту коробку.

Это было полезно?

Решение

Я знаю, что это старое, но некоторые типы ответов не передаются в .net для обработки. Вместо этого они должны быть обработаны на уровне IIS. Если вам нужна другая страница, основанная на ответе, вам нужно перейти в IIS Manager и найти раздел, который управляет страницами ошибок (он отличается в зависимости от версии IIS, которую вы используете.

Затем добавьте код состояния, который вы хотите захватить, и дайте ему страницу, на которую вы хотите, чтобы браузер был направлен.

Я знаю, что вы упомянули IIS 6, но у меня нет доступа к одному из этих серверов. Для IIS 7 нажмите на сайт. Перейдите в раздел IIS> Страницы ошибок. Нажмите «Добавить». Введите код (401.1) и дайте ему путь на страницу на вашем сайте. Убедитесь, что страница доступна для анонимности.

ОБНОВИТЬ:
Я нашел немного новой информации. Вы можете справиться с этим в своем web.config. Смотрите следующий сайт для получения более подробной информации: Learn.iis.net

В разделе «Ошибки вашего Web.Config» выполните следующее (в качестве примера):

 <error statusCode="401" subStatusCode="1" prefixLanguageFilePath="c:\inetpub\custerr" path="401_1.htm" />

Я не знаю, можете ли вы использовать страницы. Тем не менее, они, вероятно, должны быть полностью самостоятельными.

Документация Microsoft на Sipatuscode на MSDN. Анкет Согласно им, это работает только на IIS 7, .NET 3.0+ и при использовании интегрированного режима трубопровода. Это может быть немного ограничительно в зависимости от вашего приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top