Mam dwie witryny z własnymi dostawcami członkostwa, które są hostowane na tym samym serwerze w tej samej sieci w różnych aplikacjach internetowych i różnych pulach aplikacji.asp.net "Zapamiętaj mnie" już nie działa z uwierzytelnianiem formularzy
Dawniej miałem problem, że nie mogłem zalogować się na obu stronach razem. Dzięki Remy's post, działa to teraz, musiałem dodać atrybut name
do elementu forms
.
Ale teraz mam problem, że opcja "pamiętam-mnie" kontrolki logowania asp przestała działać. Użytkownik jest wylogowywany po normalnym czasie sesji.
uwierzytelniania w atrybuty wyglądu pliku web.config w następujący sposób:
<authentication mode="Forms" >
<forms loginUrl="~/UserMgmt/Login.aspx" timeout="400000" slidingExpiration="true" name="NameOfTheSite"/>
</authentication>
mieć również ustawić nazwę pliku cookie na formach authetication do różnych nazwach.
Czy jest jeszcze coś, co muszę dodać, aby funkcja "pamiętam-ja" działała?
Aktualizacja
Zauważyłem, że jeśli wyłączyć szyfrowanie i walidacji formularzy uwierzytelniania Cookie, problem znika. Jeśli aktywuję szyfrowanie, sprawdzanie poprawności lub oba, problem pojawia się ponownie.
Wiem również, że jest niezależny od nazw plików cookie sesji (mogą nawet być identyczne). Może ta informacja pomaga komuś dowiedzieć się, co się dzieje?
Aktualizacja 1
Podziękowania dla Jason Kealey za rozwiązanie tego problemu. Nigdy bym go nie znalazł. W międzyczasie znalazłem odpowiednie informacje w msdn. W How To: Configure MachineKey in ASP.NET 2.0 w rozdziale „Czynniki Web Deployment Farm” jest napisane:
Jeśli chcesz izolować aplikacji z innych aplikacji na tym samym serwerze, umieść <machineKey>
w pliku Web.config dla każdej aplikacji na każdym serwer w gospodarstwie. Upewnij się, że używasz oddzielnych wartości kluczy dla każdej aplikacji, ale duplikuj klucze każdej aplikacji na wszystkich serwerach w farmie.
To, co mam. Czy usunąłeś istniejące ciasteczka? – Remy
@Remy: Nie, nie zadziałało, ale w każdym razie to był dobry pomysł! – HCL
co się stanie, jeśli zmienisz limit czasu na około 7 dni (10080) zamiast 277 (400000) dni? –