3
當我們有多個可能的表單發佈到同一cshtml頁面上的控制器時, Antiforgery驗證不起作用。我們通過MVC3碼時,我們發現問題是在這部分代碼:如何在同一個MVC3頁面上使用AntiForgery驗證的多個Ajax表單?
if (!String.Equals(cookieToken.Value, formToken.Value, StringComparison.Ordinal)) {
// error: form token does not match cookie token
throw CreateValidationException();
}
,我們有CSHTML是這樣的:
@using (@Ajax.BeginForm()) {
@Html.AntiForgeryToken()
<input type="submit" class="buttonBlue" value="form1" />
}
@using (@Ajax.BeginForm()) {
@Html.AntiForgeryToken()
<input type="submit" class="buttonBlue" value="form2" />
}
你能幫我解決這個問題問題?我們發現,移除其中一個防僞令牌之後,似乎按預期工作。
我們嘗試設置防僞的機器密鑰,但它也沒有工作。
問候。
感謝這個偉大的工程! –