Я разрабатываю приложение asp.net mvc 5, в котором я пытался перенаправить на ReturnUrl, применяя код ниже:
[HttpPost]
[AllowAnonymous]
public ActionResult Login(UserLogin model, string returnUrl)
{
if (ModelState.IsValid)
{
string EncryptedPassword = GetMD5(model.Password);
if (DataAccess.DAL.UserIsValid(model.Username, EncryptedPassword))
{
FormsAuthentication.SetAuthCookie(model.Username, true);
if (String.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Index", "Home");
}
else
{
Response.Redirect(returnUrl);
}
}
else
{
ModelState.AddModelError("", "Invalid Username or Password");
}
}
return View();
}
Приведенный выше код работает нормально, но проблема в том, что когда я публикую форму входа в систему, это дает мне исключение, с которым я никогда не сталкивался раньше, и у меня возникают проблемы с разрешением исключения, которое генерируется в представлении в Login.cshtml На линии:
@Html.AntiForgeryToken()
И исключение, которое оно бросает:
Сервер не может добавить заголовок после отправки заголовков HTTP.
Я много исследовал, но не могу прийти к выводу. Мое приложение работает нормально, когда я удаляю строку @Html.AntiForgeryToken(), но я не хочу этого делать, я хочу, чтобы мое приложение оставалось защищенным межсайтовым запросом.
Может кто-нибудь, пожалуйста, помогите мне, как мне избавиться от этого исключения?