Du skal forstå forskellen mellem en express' server og en native NodeJS' server, her er mit link sammenligningsnodejs-server vs ekspresserver
Så du kan gøre:
var app = express();
var server = http.createServer(app);
Dette gør det muligt for dig stadig at have lavt niveau funktionnaly med NodeJS.
Så hvis du ikke ønsker at bruge eksisterende moduler eller rammer, kan du bygge din egen session manager:
- brug af cookie
- ved at bruge IP/UA
- ved hjælp af socket
Den bedste måde ville være først at implementere det med socket , for eksempel:
server.on('connection', function (socket) {
socket.id = id;
});
eller
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Så du skal bare implementere en middleware, der tjekker id'et.
Hvis du vil forhindre session prediction
, session sidejacking
osv. skal du kombinere cookies, ip, socket og dine ideer for at gøre det mere sikkert for din app.
Når du har gjort din session manager, kan du vælge, hvor du vil gemme sessionerne, i et simpelt object
, i redis
, i mongodb
, i mysql
... (express
brug MemoryStore
som standard, men måske ikke nu)