2011-07-22 58 views
4

我有一個MVC2應用程序。我試圖實施AntiForgeryToken幫手來防止CSRF攻擊。AntiForgery例外:所需的防僞標記未提供或無效

我實現這個用史蒂夫·桑德森的博客:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

當我在一個新的MVC2項目它的工作原理實現這一點。但是,當我將它放入我的REAL應用程序時,它會一直拋出以下異常: 未提供所需的防僞令牌或無效。

這裏是我的控制器代碼:

[ValidateAntiForgeryToken] 
public ActionResult SubmitUpdate() 
{ 

    // Something goes here 
    return View(); 
} 

代碼在瀏覽:

<% using (Html.BeginForm("SubmitUpdate", "Test")) 
    {%> 
    <%= Html.AntiForgeryToken() %> 
     <input type="submit" value="Submit" /> 
<% } %> 

有例外的是在這兩個應用程序沒有區別真正的應用程序使用ADFS進行autentication。我錯過了什麼?任何幫助將不勝感激。謝謝!

+0

什麼是生成的HTML是什麼? –

+0

你能找到解決方案嗎?我突然在一臺服務器上遇到同樣的問題。 –

回答

1

您是否嘗試刪除Cookie並重試?

+0

是的,我有。刪除緩存,刪除所有cookie,重新啓動IIS,重新啓動我的機器等。 – user629161

+0

這是它生成的html。 <輸入名稱= 「__ RequestVerificationToken」 值= 「O + c5O59wHPwKq3TO/VVHmVLbHbDBG1TTGbLKTuNZf + 602IjkoRSnRX7GjMXnw5VnyNtfy4NjAWZaZ + uNv1ni4b6kP3ru1r51K7i4RgKV/TBxSY2ZsUDr6qGAC + vHjvG/ZE08UQ ==」 類型= 「隱藏」>

This is an index page

Name

user629161

0

答案可能在於這個問題的答案question關於KB補丁並確保計算機密鑰的所有服務器之間的靜電場中/集羣等

相關問題