我正在编写一个 ASP.NET MVC 2.0 应用程序,它要求用户在出价之前登录。我正在使用 actionfilter 来确保用户已登录,如果没有,则将其发送到登录页面并设置返回 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?