le déploiement de AntiforgeryToken Erreur

je travaille sur un ASP.NET application MVC sur ma machine locale en utilisant le Visual Studio 2012 intégré dans IISExpress. Après un progrès significatif j'ai décidé de le rendre disponible à travers le réseau Local, j'ai créé un répertoire virtuel à partir de visual studio. Je peux me connecter mais quand j'essaie d'enregistrer un nouvel utilisateur. Je reçois le message d'erreur ci-dessous.

le jeton anti-contrefaçon n'a pas pu être déchiffré. Si cette application est hébergé par une ferme Web ou une grappe, s'assurer que tous les machines utilisent la même version de ASP.NET Pages Web et que la configuration spécifie explicitement clés de cryptage et de validation. AutoGenerate ne peut pas être utilisé dans un cluster.

j'ai généré une nouvelle machine, la clé de (ressources ASPNET) et l'a placé dans mon fichier de configuration mais ne fonctionne pas encore.Quelqu'un peut-il proposer une solution?

18
demandé sur indivisible 2013-04-03 17:37:33

5 réponses

une chose que j'ai remarquée est que cette erreur pourrait être causée par le fait d'avoir plusieurs @Html.AntiForgeryToken() des morceaux de code sur la page. J'ai eu 2 sur ma page, et une fois que j'ai enlevé la seconde, cette erreur a disparu.

33
répondu Louis Rofrano 2013-06-26 13:34:37

vous devriez ajouter une touche machine qui est unique à la combinaison Site/machine. C'est cette clé machine que le jeton générateur utilise. Cela signifie que vous devez générer une clé de l'ordinateur (vous pouvez le faire ici (lien mort-méfiez-vous) et ajoutez-le à votre site web.fichier de configuration sur votre machine. Vous pouvez trouver plus d'informations ici: http://msdn.microsoft.com/en-us/library/ff649308.aspx

vous pouvez également le faire directement à partir de L'IIS: http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate-machinekey.aspx

7
répondu Erik Schierboom 2016-08-11 21:27:36
4
répondu Eugene Ilyushin 2014-02-14 15:05:30

dans mon cas, il s'agissait d'un problème avec l'équilibreur de charge n'ayant pas de session persistance activée pour le site.

1
répondu CountZero 2014-03-05 10:46:10

j'avais une page qui utilisait la vue partielle. Les deux contiennent @Html.AntiForgeryToken () et sur la suppression du @Html.AntiForgeryToken () à partir de la page partielle, cela a fonctionné.

0
répondu Dev 2016-04-15 16:52:34