Я пишу приложение ASP.NET MVC 2.0, которое требует, чтобы пользователи входили в систему, прежде чем делать ставку на товар. Я использую фильтр действий, чтобы убедиться, что пользователь вошел в систему, и, если нет, отправить их на страницу входа и установить URL-адрес возврата. Ниже приведен код, который я использую в своем фильтре действий.
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectResult(String.Concat("~/Account/LogOn","?ReturnUrl=",filterContext.HttpContext.Request.RawUrl));
return;
}
В моем контроллере входа в систему я проверяю учетные данные пользователей, затем регистрирую их и перенаправляю на обратный URL-адрес.
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
Моя проблема в том, что это всегда будет использовать запрос Get (HttpGet), тогда как мое исходное представление было сообщением (HttpPost) и всегда должно быть сообщением. Может ли кто-нибудь предложить способ передачи этого URL-адреса, включая HttpMethod или любой обходной путь, чтобы убедиться, что используется правильный HttpMethod?