Open shevdrakon opened 9 years ago
В проекте в данный момент установлена windows аутентификация. Если во время поиска в БД пользователь не найден, то его можно перенаправить на страницу ошибки. Если использовать страницу ошибки со стандартным контентом сверху, то у непрошедшего аутентификацию пользователя есть доступ к меню сверху, нажатие на которое вызывает ошибку. Стоит ли в данном случае создать особую страницу ошибки без кнопок сверху? или же стоит отлавливать этот случай? или попробовать использовать аутентификацию с помощью форм?
Последнее решение работает за счет создания HttpException и обработки его в Application_Error. Такжк в проекте сделано с ошибкой. В проекте так сделана обработка HttpRequestValidationException. Или же нужно иначе сделать?
HttpException - верно. Также в web.config можно настраивать редиректы => Application_Error не требуется.
В данном случае с редиректом через web.config возникают две проблемы: 1.Ошибка сгенерированная в файле Global.asax с помощью customErrors не может быть перенаправлена на страницу ошибки с расширением aspx(только статические страницы доступны в этот момент). Поэтому придется сохранять информацию об ошибке, а после генерировать ее на главной странице(Default.aspx) при загрузке. 2.Нельзя сгененрировать 401 ошибку без использования "костылей" в случае Windows authentication. Система считает,что прошла проверку и не принимает 401 ошибку, которую в данном случае было бы логично использовать.Проблему можно решить заменив ошибку 401(401 Unauthorized) на 403(Forbidden), но в customErrors она обозначена и перенаправляет на свою страницу. В связи с этим возникает вопрос - для данной ошибки может стоит оставить обработчик в Application_Error ?
"имя машины" используется для поиска пользователя. Исправить падения если пользователь не найден.