Domyślnie ustawienie klawisza komputera jest generowane automatycznie i dla każdej aplikacji (AutoGenerate, IsolateApps). MSDN stwierdza, że klucz odszyfrowywania i klucz sprawdzania poprawności są oparte na identyfikatorze aplikacji WWW. Hostuję dwie witryny ASP.NET MVC 2 na moim serwerze IIS 7, ale okazało się, że klucz komputera jest taki sam. Zweryfikowałem to za pomocą refleksji, aby zobaczyć właściwość ValidationKeyInternal i DecryptionKeyInternal. Przetestowałem go również, generując plik cookie "token anty-fałszerstwa" w jednej witrynie i przekazując go do drugiej strony, a plik cookie można odczytać.Automatyczne generowanie kluczy maszyn w ASP.NET
Po okresie próbnym i błędzie stwierdziłem, że klucz zmieni się, jeśli zmieni się tożsamość puli aplikacji. Obie witryny mają te same klucze, ponieważ są uruchomione poświadczeniu usługi sieciowej. Po zmianie tożsamości puli aplikacji w jednej witrynie zaczynają się różne klucze sprawdzania poprawności/szyfrowania.
Jednak po wdrożeniu dwóch witryn na innym serwerze zawsze otrzymuję te same klucze komputera nawet po zmianie tożsamości puli aplikacji. Dwa serwery mają taką samą konfigurację sprzętu i oprogramowania.
Chciałbym wiedzieć, czy istnieje odniesienie do faktycznej logiki generowania klucza komputera w ustawieniach AutoGenerate, IsolateApps. W Internecie wiele artykułów mówi o ustawieniu tego samego klucza komputera w scenariuszu farmy internetowej. Ale napotkałem problem po przeciwnej stronie. Wydaje się, że generowanie klucza automatycznego aplikacji internetowej nie działa prawidłowo. Czy jest ktoś, kto ma ten sam problem wcześniej?
To, co opisujesz, jest nietypowe. Z mojego doświadczenia wynika, że działało jak w reklamie. Mam 2 aplikacje działające w tym samym pakiecie auth biletów do udostępniania puli aplikacji. Jeśli nie ustawię machinkey na taki sam, nie będą mogli dzielić biletów. –
Nigdy nie myślałem, że to nie zadziała, dopóki nie napotkam problemu. Ból, muszę znaleźć wytłumaczenie tego, co się stało na dwóch serwerach. – intangible02