Pourquoi ne HttpAntiForgeryException se produire de façon aléatoire, même avec un statique de la Machine à Clé?

Nous avons une ASP.NET MVC 2 (.NET 4) de l'application en cours d'exécution sur Windows Azure (plus tard 2.x version de l'OS) avec deux instances de rôle web.

Nous d'utiliser l'anti-faux jeton fourni par MVC pour toutes les requêtes POST, et nous avons établi une statique de la Machine Clé dans le web.config, donc tout ce qui fonctionne sur plusieurs ordinateurs et entre les redémarrages. 99,9% des cas, il fonctionne parfaitement.

Chaque maintenant et puis, cependant, nous enregistrons une HttpAntiForgeryException, avec le message "Une nécessaire anti-faux jeton n'a pas été fourni ou n'est pas valide."

Je sais que le problème pourrait être les cookies ne sont pas autorisés dans le navigateur, mais nous les avons vérifiées et que les cookies sont activés et d'être envoyé en arrière et en avant correctement.

L'erreur se produit avec une variété de navigateurs et, évidemment, provoque des problèmes pour les utilisateurs, car ils ont pour répéter l'opération ou ils peuvent perdre des données. Qu'il suffise de dire, nous n'avons pas été en mesure de reproduire le problème sur place, mais il ne se produit que sur Windows Azure.

Pourquoi cela se produit-il? Comment peut-on l'éviter?

J'ai vérifié avec le gars sécurité (sur le MVC de l'équipe) et Darin est probablement droit - le nom d'utilisateur, probablement changé.

OriginalL'auteur Dario Solera | 2012-03-29