Du måste förstå skillnaden mellan en expressserver och en inbyggd NodeJS-server, här är min länk jämförande nodejs-server vs expressserver
Så du kan göra:
var app = express();
var server = http.createServer(app);
Detta gör att du fortfarande kan ha lågnivåfunktionerna med NodeJS.
Så om du inte vill använda befintliga moduler eller ramverk kan du bygga din egen sessionshanterare:
- använder cookie
- med IP/UA
- med socket
Det bästa sättet skulle vara att först implementera det med socket , till exempel:
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 behöver bara implementera en middleware som kontrollerar id:t.
Om du vill förhindra från session prediction
, session sidejacking
, etc. måste du kombinera cookies, ip, socket och dina idéer för att göra det säkrare för din app.
När du har gjort din sessionshanterare kan du välja var du vill lagra sessionerna, i ett enkelt object
, i redis
, i mongodb
, i mysql
... (express
använd MemoryStore
som standard, men kanske inte nu)