У меня есть интернет-сайт ASP.NET, который я хочу защитить через проверку подлинности Windows. Я установил мой файл web.config как:Пользовательская страница 401 в IIS с ASP.NET
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="*"/>
<deny users="?"/>
</authorization>
Я затем отключить анонимный доступ и включена проверка подлинности Windows в IIS 7.5.
Это приводит к отображению окна подсказки для моих учетных данных Windows, однако нажатие «Отмена» дает мне стандартную страницу ошибок 401. Я хотел бы, чтобы отобразить статический файл HTML вместо этого сообщения, однако я не мог заставить его работать, и я попытался комбинацию различных параметров, таких как:
<httpErrors errorMode="Custom" existingResponse="Replace" lockAllAttributesExcept="errorMode"> <error statusCode="401" prefixLanguageFilePath="c:\inetpub\custerr" path="MyCustom401.htm" /> </httpErrors>
и
<customErrors mode="Off" defaultRedirect="ErrorPage.aspx">
<error statusCode="401" redirect="MyCustom401.aspx" />
</customErrors>
Я бы хотел, чтобы каждый, кто вводил правильные учетные данные Windows, мог нести на веб-сайт как обычно, но с недопустимыми или подробными сведениями, чтобы просмотреть пользовательскую HTML-страницу.
Может ли кто-нибудь указать мне правильное направление?
Спасибо!
Web-браузеры обычно показывают свои версии страниц ошибок, так что вы действительно хотите изменить те IIS? –
Я хочу показать пользовательскую страницу пользователю, который даст инструкции о том, как они могут получить доступ к действительным учетным данным, чтобы иметь возможность входа на веб-сайт. Поэтому да, я хочу, чтобы можно было переопределить страницу ошибки, которую они видят. – ca8msm
Это просто невозможно, так как настройка веб-браузера имеет наивысший приоритет. Вам нужно будет перенаправить на определенную страницу и вернуть код ответа 200 вместо 401. –