Сохранение запрошенного URL-адреса в Global.asax без состояния сеанса в ASP.NET

У меня есть сложная схема перезаписи URL-адресов, которая нарушает встроенный механизм проверки подлинности с помощью форм ReturnUrl. Я хотел бы получить запрошенный URL-адрес для последующего перенаправления из моего login.aspx. Я могу получить этот URL-адрес в Application_BeginRequest через HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath. Однако состояние сеанса недоступно в Application_BeginRequest. Как я могу сохранить этот URL-адрес до того, как ASP.NET перенаправит меня на login.aspx?


person Mark Richman    schedule 23.04.2010    source источник


Ответы (2)


Можно ли использовать файлы cookie клиента? Я не верю, что без доступного состояния сеанса у вас нет выбора на стороне сервера.

person SqlRyan    schedule 23.04.2010
comment
Доступны ли файлы cookie из Application_BeginRequest? Если да, то это может сработать. - person Mark Richman; 23.04.2010

Вы можете использовать статику. Однако вам понадобится что-то, чтобы ввести его для каждого пользователя (например, имя пользователя, идентификатор сеанса и т. д.). Если вам нужно сделать это до того, как пользователь войдет в систему, ваш единственный вариант — вставить какой-то идентификатор в файл cookie, и в этот момент вы можете просто поместить туда весь URL-адрес.

person Tom Cabanski    schedule 23.04.2010