Pracuję nad projektem ASP.NET MVC4 przy użyciu SimpleMembership, który generuje plik cookie ASPXAUTH po zalogowaniu. Wydaje się, że działa dobrze, ale dzisiaj otworzyłem kolejny projekt MVC4, aby zauważyć, że jestem już zalogowany.Simplemembership ASPXAUTH cookie sprawdzanie poprawności w dwóch oddzielnych projektach internetowych
To było bardzo dziwne, ponieważ nowy projekt nie zawiera dosłownie żadnych użytkowników zdefiniowanych w bazie danych. Jeszcze bardziej niepokojące jest to, że gdy kliknęło "wyloguj" w nowym projekcie, wylogował mnie on z oryginalnej strony.
Obie witryny działają na różnych portach, choć oba na localhost. Podczas sprawdzania żądania, aby zobaczyć, dlaczego zwraca "IsAuthenticated == true", zauważyłem, że plik cookie ASPXAUTH jest wysyłany do obu witryn, a parametr "domeny" pliku cookie w debugerze ma wartość "null". To sprawiło, że pomyślałem, że być może plik cookie jest generowany jako plik cookie "bez domeny" (nie mam pojęcia, czy coś takiego jest możliwe, szczerze mówiąc!) I spojrzał na ustawienie web.config, aby określić domenę :
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" domain="http://localhost:56626" />
</authentication>
Niestety ustawienie parametru "domain" spowodowało, że plik cookie przestał działać. Próbowałem już wszystkich permutacji (z http, bez http, z portem, bez portu, itp.) I za każdym razem, gdy określam domenę, przeglądarka otrzymuje ciasteczko z prawidłowo określoną nazwą domeny (sprawdziłem to w narzędziach programistycznych Chrome), ale potem nie uda się wysłać go z powrotem do serwera kolejnych żądań.
Jestem więc bardzo zdezorientowany tym, co się tutaj dzieje. Czy jest to wyciek bezpieczeństwa, który spowodowałem, nie ustawiając gdzieś odpowiedniego miejsca? Czy jest to całkowicie normalne zachowanie, że plik cookie ASPXAUTH autoryzuje użytkownika w dwóch całkowicie różnych aplikacjach internetowych na dwóch różnych portach w tej samej domenie? Testowałem to na hoście internetowym, ale niestety nie mam dostępu do tych, które uruchamiają MVC4 w tej chwili.
Z góry dziękuję.
Sprawdź tutaj http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific – Chandermani