Sie müssen den Unterschied zwischen einem Express-Server und einem nativen NodeJS-Server verstehen, hier mein Link Vergleich zwischen Nodejs-Server und Express-Server
Sie können also Folgendes tun:
var app = express();
var server = http.createServer(app);
Dies ermöglicht es Ihnen, mit NodeJS noch die Low-Level-Funktionalität zu haben.
Wenn Sie also keine vorhandenen Module oder Frameworks verwenden möchten, können Sie Ihren eigenen Sitzungsmanager erstellen:
- unter Verwendung von Cookies
- unter Verwendung von IP/UA
- Socket verwenden
Der beste Weg wäre, es zuerst mit socket zu implementieren , zum Beispiel:
server.on('connection', function (socket) {
socket.id = id;
});
oder
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Sie müssen also nur eine Middleware implementieren, die die ID überprüft.
Wenn Sie die session prediction
verhindern möchten , session sidejacking
usw. müssen Sie Cookies, IP, Socket und Ihre Ideen kombinieren, um Ihre App sicherer zu machen.
Sobald Sie Ihren Sitzungsmanager erstellt haben, können Sie auswählen, wo die Sitzungen in einem einfachen object
gespeichert werden sollen , in redis
, in mongodb
, in mysql
... (express
Verwenden Sie MemoryStore
standardmäßig, aber vielleicht nicht jetzt)