Musisz zrozumieć różnicę między serwerem ekspresowym a natywnym serwerem NodeJS, tutaj mój link porównanie serwera nodejs z serwerem ekspresowym
Możesz więc zrobić:
var app = express();
var server = http.createServer(app);
Dzięki temu możesz mieć nadal niski poziom funkcjonalnie z NodeJS.
Tak więc, jeśli nie chcesz korzystać z istniejących modułów lub frameworka, możesz zbudować własnego menedżera sesji:
- używanie plików cookie
- przy użyciu adresu IP/UA
- używając gniazda
Najlepszym sposobem byłoby zaimplementowanie go najpierw za pomocą gniazda , na przykład:
server.on('connection', function (socket) {
socket.id = id;
});
lub
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Tak więc wystarczy zaimplementować oprogramowanie pośredniczące, które sprawdzi identyfikator.
Jeśli chcesz zapobiec session prediction
, session sidejacking
, itp. musisz połączyć pliki cookie, adres IP, gniazdo i swoje pomysły, aby była bezpieczniejsza dla Twojej aplikacji.
Gdy skończysz menedżera sesji, możesz wybrać, gdzie chcesz przechowywać sesje, w prostym object
, w redis
, w mongodb
, w mysql
... (express
użyj MemoryStore
domyślnie, ale może nie teraz)