Wir haben eine ASP.NET MVC 2 (.NET 4) -Anwendung unter Windows Azure (neueste 2.x OS-Version) mit zwei Webrolleninstanzen.Warum tritt HttpAntiForgeryException zufällig sogar mit einem statischen Maschinenschlüssel auf?
Wir verwenden das Anti-Fälschungs-Token, das von MVC für alle POST-Anfragen bereitgestellt wird, und wir haben in web.config einen statischen Maschinenschlüssel festgelegt, sodass alles auf mehreren Maschinen und Neustarts funktioniert. 99,9% der Fälle funktioniert es perfekt.
Hin und wieder jedoch protokollieren wir eine HttpAntiForgeryException mit der Meldung "Ein erforderliches Anti-Fälschungs-Token wurde nicht bereitgestellt oder war ungültig."
Ich weiß, das Problem könnte sein, dass Cookies im Browser nicht erlaubt sind, aber wir haben überprüft, dass Cookies aktiviert sind und korrekt gesendet werden.
Der Fehler tritt bei einer Vielzahl von Browsern auf und verursacht offensichtlich Probleme für die Benutzer, da sie den Vorgang wiederholen müssen oder einige Daten verlieren können. Es genügt zu sagen, dass wir das Problem nicht lokal reproduzieren konnten, sondern nur unter Windows Azure.
Warum passiert das? Wie können wir es vermeiden?
Ich habe mit den Sicherheitsleuten (auf der MVC-Team) überprüft und Darin hat wahrscheinlich Recht - der Benutzername wahrscheinlich geändert. – RickAndMSFT