Devi capire la differenza tra un server express e un server nativo NodeJS, qui il mio link confronto tra server nodejs e server express
Quindi puoi fare:
var app = express();
var server = http.createServer(app);
Ciò ti consente di avere ancora le funzionalità di basso livello con NodeJS.
Quindi, se non vuoi utilizzare moduli o framework esistenti, puoi creare il tuo gestore di sessioni:
- utilizzo dei cookie
- utilizzando IP/UA
- usando la presa
Il modo migliore sarebbe prima implementarlo con socket , ad esempio:
server.on('connection', function (socket) {
socket.id = id;
});
o
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Quindi, devi solo implementare un middleware che controlli l'id.
Se vuoi impedire la session prediction
, session sidejacking
, ecc. devi combinare cookie, ip, socket e le tue idee per renderlo più sicuro per la tua app.
Una volta eseguito il tuo gestore di sessioni, puoi scegliere dove archiviare le sessioni, in un semplice object
, in redis
, in mongodb
, in mysql
... (express
usa MemoryStore
per impostazione predefinita, ma forse non ora)