0

我有一個項目出現了問題,我已經由分包商承擔了這個項目,並希望有人能夠幫助我解決這個問題。在VS 2012中從MVC 4項目中刪除AntiForgeryToken

有問題的項目是使用VS 2012下的ASP.Net MVC4 Web應用程序模板構建的MVC4項目,它連接到SQL 2012數據庫。

我一直在考慮所有在該項目中創建的文件,但已經無法登錄到它(即使在VS),因爲它拒絕所有登錄嘗試由於問題的地方在代碼中。

我可以驗證通過login.cshtml刪除Html.AntiForgeryToken()的數據庫連接,我得到帶有與錯誤System.Web.Mvc.HttpAntiForgeryException錯誤屏幕:所需的防僞型窗體域「__RequestVerificationToken」不存在。

如果保留Html.AntiForgeryToken(),則頁面會循環回到自身,並顯示錯誤消息,指出登錄失敗並再次嘗試 - 這是使用不正確的用戶名和密碼返回的錯誤。我還應該提到,在他給我項目文件之前,我看到這個工作在他自己的機器上。

我已經能夠確認哪些我使用的身份驗證與Web應用程序的帳戶是正確的通過連接到使用this walkthrough

此Web應用程序相同的數據庫將是一個封閉的網絡斷上單獨使用電網在可預見的將來,因此數據安全在運輸中目前不是問題(如果問題確實存在,我會在稍後處理)。

簡而言之,我想知道是否有辦法全部禁用防僞驗證,或者是否有一些代碼可以搜索並註釋以獲得此功能。

回答

0

您可以找到使用此令牌的操作(或控制器)並嘗試註釋應用於此操作/控制器的屬性ValidateAntiForgeryToken

什麼,你也可以做的是添加以下行:

AntiForgeryConfig.SuppressIdentityHeuristicChecks = true 

在你Application_Start方法。

+0

嗨bejger,我剛剛嘗試評論這種情況的所有情況,不幸的是它並沒有改變我收到的錯誤。 – gnbatten

+0

嘗試我的答案的第二部分。 –

+0

不幸的是,也沒有效果:(謝謝試圖幫助,雖然:) – gnbatten