ASP.NET machineKey loma
Ja Asp.Net palaiž programmu un rodas šāda kļūda: "Validēt skata statusu MAC neizdevās". Ja šo lietojumprogrammu vieso tīkla ferma vai klasteris, pārliecinieties, vai <machineKey> konfigurācijā ir norādīts tas pats validationKey un validācijas algoritms. Automātisko ģenerēšanu nevar izmantot klasterī. Tātad, kāds ir machineKeys mērķis, ja jums nav lietojumprogrammas, izmantojot vienotu machineKey? Saskaņā ar MSDN standartiem: "Konfigurējiet atslēgas, kas jāizmanto, lai šifrētu un atšifrētu veidlapu autentifikācijas sīkfailu datus un skatītu stāvokļa datus, kā arī lai pārbaudītu ārpus procesa sesijas stāvokļa identitātes." Citiem vārdiem sakot, daudzas šifrēšanas Asp.Net paļauties uz machineKey vērtībām, piemēram, veidlapu autentifikācijas sīkfailu un ViewState šifrēšanu. Pēc noklusējuma Asp.Net konfigurācija tiek dinamiski ģenerēta pati, ja viens serveris, protams, ir labi, bet, ja vairāki serveri ir līdzsvaroti, machineKey izmanto arī dinamisku ģenerēšanas metodi, machinekey vērtība katrā serverī ir nekonsekventa, kā rezultātā tiek iegūti nekonsekventi šifrēti rezultāti, un nevar koplietot verifikāciju un ViewState, tāpēc vairāku serveru slodzes līdzsvarošanai katrā vietnē ir jākonfigurē viens un tas pats machineKey.
Algoritms ASP.NET ģenerēts machineKey:
|