ASP.NET machineKey roll
Kui su Asp.Net käivitab programmi ja kohtab vea: "Valideeri vaate staatus MAC failed." Kui see rakendus on majutatud võrgufarmis või klastris, veendu, et <machineKey> konfiguratsioon määraks sama valideerimisvõti ja valideerimisalgoritmi. AutoGenere'i ei saa klastris kasutada. Mis on siis machineKeysi eesmärk, kui su rakendus ei kasuta ühtset machineKey'd? MSDN-i standardite kohaselt: "Seadista võtmed, mida kasutatakse vormide autentimisküpsiste krüpteerimiseks ja dekrüpteerimiseks ning olekuandmete vaatamiseks ning protsessist väljas olevate sessioonioleku identiteetide valideerimiseks." Teisisõnu, paljud krüpteerimised tuginevad Asp.Net machineKey väärtustele, näiteks Formsi autentimisküpsisele ja ViewState'i krüpteerimisele. Vaikimisi genereeritakse Asp.Net konfiguratsioon dünaamiliselt iseenesest, kui üks server on muidugi korras, kuid kui mitmed serverid on koormuse tasakaalustatud, kasutab machineKey dünaamilise genereerimise meetodit, kus iga serveri masinavõtme väärtus on ebajärjekindel, mis põhjustab ebajärjekindlaid krüpteeritud tulemusi, ning ei saa jagada verifitseerimist ja ViewState'i, seega mitme serveri koormuse tasakaalustamiseks tuleb igas asukohas konfigureerida sama machinekey.
Algoritm genereeritud ASP.NET machineKey:
|