Код ошибки для «не авторизован» или перенаправления страницы - PullRequest
0 голосов
/ 21 февраля 2012

Существует ли код ошибки для обработки пользователей, которые не вошли в систему, но пытаются зайти на веб-страницу, вручную введя URL-адрес?

В настоящее время мое веб-приложение перенаправляет пользователя на страницу входа, но я бы хотелхотелось бы узнать, есть ли лучший способ обработать перенаправление страницы на страницу ошибки в web.config.

РЕДАКТИРОВАТЬ:

Forms тег в сети.config:

<forms name=".ADAuthCookie" loginUrl="Login.aspx" defaultUrl="~/dataRefresh.aspx" timeout="20" />

1 Ответ

4 голосов
/ 21 февраля 2012

Вам потребуется в вашем Global.asax.cs, в обработчике события Application_EndRequest

Вам нужно будет создать HttpModule , который обрабатывает событие EndRequest и выполняет следующую обработку:

    if(Response.StatusCode == 401)
    {
    // add code to redirect to the access denied page
    }

Ваш HttpModule должен быть зарегистрирован перед UrlAuthorizationModule, чтобы вы могли выполнить перенаправление до того, как UrlAuthorizationModule сделает свое собственное.

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

...