Tôi đang viết ứng dụng ASP.NET MVC 2.0 yêu cầu người dùng đăng nhập trước khi đặt giá thầu trên một mặt hàng. Tôi đang sử dụng bộ lọc hành động để đảm bảo rằng người dùng đã đăng nhập và, nếu không, hãy gửi họ đến trang đăng nhập và đặt url trả về. Dưới đây là mã tôi sử dụng trong bộ lọc hành động của tôi.HttpPost to ReturnURL sau khi chuyển hướng
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectResult(String.Concat("~/Account/LogOn","?ReturnUrl=",filterContext.HttpContext.Request.RawUrl));
return;
}
Trong điều khiển đăng nhập của tôi, tôi xác nhận các thông tin người dùng sau đó đăng ký chúng trong và chuyển hướng đến url trở
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
Vấn đề của tôi là điều này sẽ luôn luôn sử dụng một yêu cầu GET (HttpGet) trong khi ban đầu của tôi gửi là một bài đăng (HttpPost) và luôn luôn là một bài đăng. Bất cứ ai có thể đề xuất một cách để vượt qua URL này bao gồm HttpMethod hoặc bất kỳ workaround để đảm bảo rằng HttpMethod chính xác được sử dụng?