/ / Zarządzanie sesjami - asp.net, asp-classic

Zarządzanie sesjami - asp.net, asp-classic

Używam sesji dla mojej strony logowania, która będzieprzytrzymaj identyfikator użytkownika w sesji. Jeśli dwaj różni użytkownicy są rejestrowani przy użyciu tego samego systemu i tej samej przeglądarki, ale z oddzielnymi zakładkami przeglądarki, wartość sesji użytkownika jest resetowana do użytkownika, który zalogował się jako ostatni. Czemu?

Odpowiedzi:

6 dla odpowiedzi № 1

byłby tylko jeden sessionID zapisany (w ciasteczku) dla domeny przez przeglądarkę, który zostanie zwrócony serwerowi w późniejszych postach w celu identyfikacji sesji.

jeśli otworzysz inną zakładkę i zalogujesz się jako inna osoba, to ostatnia sessionID zastąpi poprzedni ..

Więc nie można mieć różnych loginów w tej samej przeglądarce ... ale używać innej przeglądarki (nie innej instancji tej samej przeglądarki)


5 dla odpowiedzi nr 2

Jeśli śledzisz uwierzytelnionych użytkowników za pomocąpliki cookie nie można tego osiągnąć, ponieważ pliki cookie są udostępniane między kartami przeglądarki. To samo dotyczy większości witryn. Weźmy na przykład Gmail: logujesz się za pomocą jednego konta, otwierasz nową kartę i automatycznie logujesz się do tego samego użytkownika, ponieważ pliki cookie są udostępniane.

Aby osiągnąć to, o co prosisz, w zasadzie będziesz musiał zmienić sposób śledzenia uwierzytelnionych użytkowników. Nie powinieneś już używać plików cookie.

Są dwie możliwości:

  • Użyj ukrytego pola na każdej stronie, która będzie zawierać identyfikator sesji
  • Dołącz identyfikator sesji do ciągu zapytania wszystkich żądań

0 dla odpowiedzi № 3

Nie jest to możliwe, ponieważ sesje są udostępniane między kartami. Muszą korzystać z różnych przeglądarek lub sesja ostatniego użytkownika spowoduje usunięcie poprzedniej sesji użytkownika


0 dla odpowiedzi nr 4

Internet Explorer oferuje funkcję "Nowa sesja"w jego menu Plik. Umożliwi to drugiemu użytkownikowi zalogowanie się do Twojej witryny, podczas gdy inny użytkownik jest już zalogowany. Jednak spowoduje to uruchomienie nowego okna, nie jest możliwe uruchomienie oddzielnej sesji w innej karcie.

Inne przeglądarki mogą oferować podobną funkcję.