Как изменить имя ключа строки запроса «ReturnUrl» в проверке подлинности форм ASP.NET? - PullRequest
3 голосов
/ 28 сентября 2011

Когда вы используете Аутентификацию формы ASP.NET, ключ строки запроса будет передан на страницу входа, которая называется «ReturnUrl».

Например, если вы еще не вошли в систему и хотите увидеть защищенную страницу, например http://www.example.com/securepage.aspx, вы будете перенаправлены на:

http://www.example.com/login.aspx?ReturnUrl=securepage.aspx

(или что-то в этом роде, я не совсем уверен в значении ReturnUrl).

Теперь, есть ли способ изменить это ReturnUrl имя, например, на path? У нас есть какая-то конфигурация в web.config для этого?

Ответы [ 5 ]

6 голосов
/ 12 июня 2013

Добавьте этот ключ в раздел appSettings вашего web.config

<add key="aspnet:FormsAuthReturnUrlVar" value="path" />
3 голосов
/ 28 сентября 2011

Вероятно, простым способом вы не можете сделать это, потому что это жестко запрограммированная константа внутри System.Web сборки:

internal static string GetReturnUrl(bool useDefaultIfAbsent)
{
  FormsAuthentication.Initialize();
  HttpContext current = HttpContext.Current;
  string str = current.Request.QueryString["ReturnUrl"];
  // ....
}

Но, вероятно, вы можете использовать Перезапись URL .

Также проверьте этот пост на SO: rewrite url.asp.net c #

1 голос
/ 28 сентября 2011

Класс FormsAuthentication запечатан, что означает, что вы не можете наследовать и переопределять его.Кроме того, трудно прочитать параметр строки запроса request["RETURNURL"].

Зачем вам это нужно?

0 голосов
/ 21 декабря 2011

Конечно, вы можете изменить это.Просто добавьте Global.asax в свой проект и измените свойство Response.RedirectLocation во время события Application_EndRequest.

0 голосов
/ 01 ноября 2011

Я просто хочу указать причину, по которой нам нужно изменить имя этого параметра (сценарий веб-формы):

Мне также нужно изменить «ReturnUrl» для проверки подлинности при создании плагина для umbraco.

umbraco использует api членства, и их login.aspx использует «redir» вместо «ReturnUrl», чтобы сделать мое решение как можно меньшим и максимально независимым от umbraco, мне нужно смоделировать рабочий процессдля аутентификации.

Так как я не могу изменить имя этого параметра, ну .... мне придется перенастроить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...