ASP.NET le rôle de machineKey
Si votre Asp.Net exécute le programme et rencontre cette erreur : « Valider le statut de la vue MAC a échoué. » Si cette application est hébergée par une ferme réseau ou un cluster, assurez-vous que la <machineKey> configuration spécifie le même algorithme de validation et de validation. AutoGenerate ne peut pas être utilisé dans un cluster. Alors, quel est le but des machineKeys si votre application n’utilise pas une machineKey unifiée ? Selon les normes MSDN : « Configurez les clés pour être utilisées afin de chiffrer et déchiffrer les données des cookies d’authentification des formulaires et de voir les données d’état, ainsi que de valider les identités d’état des sessions hors processus. » En d’autres termes, beaucoup de chiffrements Asp.Net dépendent des valeurs contenues dans la machineKey, comme le cookie d’authentification Forms et le chiffrement du ViewState. Par défaut, la configuration du Asp.Net est générée dynamiquement par elle-même, si un seul serveur est bien sûr correct, mais si plusieurs serveurs sont équilibrés en charge, machineKey adopte aussi une méthode de génération dynamique, la valeur de machineKey sur chaque serveur est incohérente, ce qui entraîne des résultats chiffrés incohérents, et ne peut pas partager la vérification et le ViewState, donc pour l’équilibrage de charge de plusieurs serveurs, le même machineKey doit être configuré sur chaque site.
Algorithme généré ASP.NET machineKey :
|