Удаление AntiForgeryToken из проекта MVC 4 в VS 2012

У меня есть проблема с проектом, который я предпринял субподрядчиком, и я надеюсь, что кто-то здесь может помочь мне исправить это.

Рассматриваемый проект представляет собой проект MVC4, созданный с использованием шаблона веб-приложения ASP.Net MVC4 в VS 2012 и подключенный к базе данных SQL 2012.

Мне были предоставлены все файлы, которые были созданы во время проекта, но я не смог войти в него (даже в VS), поскольку он отклоняет все попытки входа из-за проблемы где-то в коде.

Я могу проверить соединение с базой данных, удалив Html.AntiForgeryToken() из login.cshtml, и я получаю экран с ошибкой System.Web.Mvc.HttpAntiForgeryException: обязательное поле формы защиты от подделки "__RequestVerificationToken" отсутствует.

Если Html.AntiForgeryToken() оставить на месте, страница зациклится на самой себе с ошибкой, указывающей, что попытка входа не удалась, и повторить попытку — та же ошибка, которая возвращается с неправильным именем пользователя и паролем. Я также должен упомянуть, что я видел, как это работает на его собственной машине до того, как он дал мне файлы проекта.

Мне удалось проверить правильность учетных записей, которые я использую для аутентификации в веб-приложении, подключившись к той же базе данных с помощью это пошаговое руководство

Это веб-приложение будет использоваться исключительно в закрытой сети вне сети в обозримом будущем, поэтому безопасность данных при передаче на данный момент не является проблемой (и я разберусь с этим позже, если это действительно станет проблемой).

Проще говоря, я хочу знать, есть ли способ полностью отключить проверку на подделку или есть какой-то код, который я могу найти и закомментировать, чтобы получить этот функционал.


person gnbatten    schedule 26.01.2014    source источник


Ответы (1)


Вы можете найти действие, в котором используется этот токен (или контроллер), и попробовать закомментировать атрибут ValidateAntiForgeryToken, который применяется к этому действию/контроллеру.

Что вы также можете сделать, так это добавить следующую строку:

AntiForgeryConfig.SuppressIdentityHeuristicChecks = true

В вашем методе Application_Start.

person Paweł Bejger    schedule 26.01.2014
comment
Привет, bejger, я только что попытался закомментировать все случаи этого события, к сожалению, это не изменило ошибку, которую я получаю. - person gnbatten; 26.01.2014
comment
Попробуйте вторую часть моего ответа. - person Paweł Bejger; 26.01.2014
comment
к сожалению, это тоже не имело никакого эффекта :( спасибо за попытку помочь :) - person gnbatten; 26.01.2014