У меня есть веб-страница (home.aspx), для которой требуется проверка подлинности Windows. Если браузер автоматически отправит действительные учетные данные, отобразится home.aspx. В противном случае отображается login.aspx.ASP.NET. Пользовательская страница на 401
В IE я установил флажок «Приглашение для имени пользователя и пароля» в «Свойства обозревателя»> «Локальная интрасеть»> «Пользовательский уровень»> «Аутентификация пользователя». У меня есть следующие шаги в http://www.codeproject.com/Articles/11202/Redirecting-to-custom-page-when-quot-Access-de, и он отлично работает на моем локальном сервере разработки. Однако на производственном сервере это совсем другая история.
В IIS, Home.aspx отключена анонимная аутентификация и включена проверка подлинности Windows. В Login.aspx включена анонимная аутентификация и отключена проверка подлинности Windows.
На сервере разработки на компьютере, который зарегистрирован с использованием правильных учетных данных, появляется home.aspx. И, когда браузер не отправляет учетные данные, Application_EndRequest попадает в код состояния 401, тогда по умолчанию запрашивается проверка подлинности Windows . После отмены этого диалога отображается login.aspx. Это правильное поведение.
Однако на рабочем сервере на компьютере, который зарегистрирован с использованием правильных учетных данных, появляется home.aspx. И, когда браузер не отправляет учетные данные, Application_EndRequest попадает в код состояния 401, тогда появляется запрос Windows Authentication Prompt по умолчанию. После отмены этого диалога отображается страница по умолчанию 401.
Кто-нибудь делает то, что происходит на производственном сервере, и почему я не могу перехватить код статуса 401 и перенаправить на пользовательскую веб-страницу.
У меня нет образца кода передо мной в качестве примера, но похоже, что вам нужно разрешить анонимный доступ к login.aspx из вашего web.config или параметров безопасности. В противном случае IIS не будет обслуживать его без действительных учетных данных. – GalacticCowboy
Спасибо за ответ. Я включил анонимный доступ к login.aspx и отключил проверку подлинности Windows и по-прежнему получал ту же проблему. – user2769810