ASP.NET el papel de machineKey
Si tu Asp.Net ejecuta el programa y encuentra este error: "Validar estado de vista MAC fallado." Si esta aplicación está alojada por una granja o clúster de red, asegúrese de que la <machineKey> configuración especifica el mismo validationKey y algoritmo de validación. AutoGenerate no puede usarse en un clúster. ¿Cuál es entonces el propósito de machineKeys si tu aplicación no usa una machineKey unificada? Según los estándares MSDN: "Configurar claves para que se utilicen para cifrar y descifrar los datos de cookies de autenticación de formularios y ver datos de estado, así como para validar las identidades de estado de las sesiones fuera de proceso." En otras palabras, muchos de los cifrados Asp.Net dependen de los valores de la máquinaClave, como la cookie de autenticación de Forms y el cifrado del ViewState. Por defecto, la configuración del Asp.Net se genera dinámicamente por sí misma, si un solo servidor está bien, pero si varios servidores están balanceados en carga, MachineKey también adopta un método de generación dinámica, el valor de MachineKey en cada servidor es inconsistente, lo que resulta en resultados cifrados inconsistentes y no puede compartir verificación ni ViewState, por lo que para el balanceo de carga de múltiples servidores, la misma MachineKey debe configurarse en cada sitio.
Algoritmo generado ASP.NET machineKey:
|