我在登錄表單收到此錯誤:ASP.NET MVC所需的防僞表單字段__RequestVerificationToken不存在
所需的防僞型窗體域「__RequestVerificationToken」不存在
我正在使用Visual Studio 2015模板生成的ASP.NET MVC的默認項目。
Login.cshtml:
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
...
}
的AccountController:在web.config中
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
...
}
機按鍵定義:
<machineKey validationKey="6237432C07086CE1A8FAAD3CC71A3AC1DE0B22DE9061D7CAF798E5B18E6E888D7A3F88004D0A928952CB81598ED565B26F8175E30294B1F5A1F3220229163F1C"
decryptionKey="E61A22E8DEE09CB4640B2863705CE6BC95E64C8797CAB8CAE7463BE7F9AB1B94"
validation="SHA1"
decryption="AES" />
生成的HTML頁面:
<form action="/Account/Login" class="form-horizontal" method="post" role="form">
<input name="__RequestVerificationToken" type="hidden" value="Ei4E03S5nvvdR9N2KJg8aGDQK9fI3xbBJLJzT3z3c7QAyyxbGf11ncmTAiD-8itHoKWYuNNghOsmyTS2hBDlmkv7Ttk1" />
我在瀏覽器中有一個名爲__RequestVerificationToken
的cookie和值爲qM5XwYIQiiHk2lumHWcXHOPPji2VptN95X0FDLneyXSN3_sGrF6fe7zt8KHC5MjopQoBh9sJl5vEJLGOAzy1h-8R-nk1
的會話結束時到期:When the browsing session ends
。
這個錯誤在本地沒有發生,但是在將項目部署到服務器之後發生了此錯誤。
清除cookie並重新啓動瀏覽器並未解決問題。
有什麼想法?
編輯:
我刪除防僞標記來自控制器和視圖,並發現了一些奇怪的:表單提交的數據沒有任何問題,但在提交和確認之間的某個地方,各個領域成爲空。 __RequestVerificationToken
在驗證之前變爲null,這會導致問題。現在我研究這個新的問題:(
請告訴我們您的發送請求給服務器。權點擊頁面檢查元素 - >網絡選項卡 – Oli