2012-02-21 2 views
0

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

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

EDIT:

Forms тег в web.config:

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

+0

Если * не аутентифицировано *, это будет ошибкой в ​​вашем приложении, тогда вы можете просто изменить страницу входа, чтобы показать это. Я предполагаю, что вы ищете что-то вроде сообщения «отказано в доступе»? – Yuck

+0

@Yuck Да, я ищу решение для перенаправления пользователя для отображения сообщения об ошибке вместо страницы входа. Я редактировал свой пост в теге 'forms' в web.config. – gymcode

+2

Keep in miind Действительный пользователь, возможно, добавил закладку в закладки и посетил ее после того, как их логин истекло. Если вы не пересладите их на страницу входа в систему, обязательно сделайте что-то, что имеет смысл. –

ответ

4

Вам нужно будет в вашем Global.asax.cs, в обработчик событий Application_EndRequest

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

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

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

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

+0

Могу ли я узнать, как мне создать 'Global.asax.cs'? У меня есть файл с таким именем в настоящее время – gymcode

+0

@RUiHAO, если у вас уже есть файл с этим именем, вам не нужно его создавать. Вы можете просто добавить к нему обработчик. –

+0

извините, я имею в виду, что у меня нет файла, набрав ошибку – gymcode

Смежные вопросы