/ / Węzeł w trybie ekspresowym węzła - node.js, express, session, mongoose, express-session

Mechanizm sesji ekspresowej węzła - node.js, express, sesja, mangusta, sesja ekspresowa

Zawsze uważałem, że informacja o sesji ekspresowej jest przechowywana w mongodb po stronie serwera, jeśli app.use(session({store: mongoConnection})) Jest używane.

Ale kiedy próbowałem pobrać zmienną sesjiUstaw wcześniej na serwerze po pierwszej przeglądarce i przechodzę do następnej przeglądarki, aby ją uzyskać, nie mogę pobrać tej zmiennej, więc zmienne sesji są przechowywane w ciasteczkach w określonych przeglądarkach? W przeciwnym razie dostałbym tę zmienną niezależnie od tego przeglądarka, której używam.

Jeśli tak, to co robi to połączenie app.use? Co to jest magazynowanie?

Odpowiedzi:

1 dla odpowiedzi № 1

Dane sesji są przechowywane w magazynie sesji. Ale plik cookie służy do śledzenia identyfikatora sesji dla danej sesji przeglądarki. Plik cookie nie przekazuje danych sesji, tylko identyfikator sesji i inne informacje do celów sprawdzania poprawności. Rzeczywiste dane sesji są przechowywane w pamięci sesji i nie są przesyłane przez przewód. W ten sposób zapobiegając pewnym rodzajom ataków.

Plik cookie wykorzystywany do śledzenia sesji jest przesyłany z przeglądarki do serwera na każde żądanie w trakcie sesji. Dlatego nie można uzyskać dostępu do informacji o sesji z innej przeglądarki.


0 dla odpowiedzi nr 2

The Session Storage którego używasz jest używany do przechowywania zmiennych sesjiw MongoDB. Po ponownym uruchomieniu serwera express.js następuje powrót do tej samej karty użytkownika / przeglądarki, aby uzyskać te same zmienne. W przeciwnym razie zmienne te zostaną zapisane w pamięci i zostaną usunięte po zatrzymaniu serwera.