2010-11-20 20 views
1

J'utilise ce modèle: http://visualstudiogallery.msdn.microsoft.com/en-us/81153747-70d7-477b-b85a-0374e7edabefValidation des viewstate MAC n'a

Et l'erreur suivante: Validation des viewstate MAC échoué .. ferme Web ..

Il y a beaucoup de gens avec ce problème et (? le meilleur) suggestion que j'ai trouvé à jour web.config avec une clé de la machine (comme le site est dans une ferme Web):

<machineKey validation="SHA1" validationKey="" 
decryption="Auto" decryptionKey="" /> 

mais maintenant je reçois cette erreur:

Unable to validate data. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: Unable to validate data. 

Source Error: 

Line 6: <head> 
Line 7:  <title>Login</title> 
Line 8:  <%= Html.OpenIdSelectorStyles(this.Page) %> 
Line 9:  <link rel="stylesheet" type="text/css" href='<%= Url.Content("~/Content/loginpopup.css") %>' /> 
Line 10: </head> 


Source File: Line: 8 

Stack TraceWhy is this and how do I fix it? 

Merci M

Répondre

3

Vous avez un espace dans votre clé de validation, retirez-le.

Vous devez également veiller à ne pas utiliser une clé d'ordinateur que vous avez trouvée en ligne car elle est utilisée comme clé de cryptage pour vos cookies. En utilisant celui trouvé en ligne, en particulier sur un site bien connu, il est plus facile de compromettre votre site. Vous pouvez trouver du code pour générer une clé au http://support.microsoft.com/kb/312906.

+0

Oui cela a fonctionné très bien, cependant quand j'utilise l'application de console que vous avez recommandée j'obtiens cette erreur: La validation de viewstate MAC a échoué. Si cette application est hébergée par une batterie Web ou un cluster, assurez-vous que la configuration spécifie le même algorithme de validation et de validation. AutoGenerate ne peut pas être utilisé dans un cluster. – Mikael

+0

Donc, cela fonctionne quand je supprime l'espace, mais il cesse de fonctionner lorsque je tente de remplacer la clé avec mon – Mikael

+3

nouvellement généré Si vous modifiez les clés de la machine, tout ancien cookie va lancer cette erreur car il ne peut être décrypté par la nouvelle clé. Essayez de supprimer vos cookies pour votre site et de voir si l'erreur disparaît. – tvanfosson