sql >> Databasteknik >  >> RDS >> Mysql

Att hålla en användare inloggad med nodeJS

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:

  1. använder cookie
  2. med IP/UA
  3. 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)



  1. SELECT-fråga med bokstavstecken (kolon, semikolon) i Oracle

  2. Uppdatera Oracle-satsen fungerar inte

  3. Uppdatera databasinformation med onclick-knappen

  4. Lägg till en kolumn med ett standardvärde till en befintlig tabell i SQL Server