sql >> Database >  >> RDS >> Mysql

Een gebruiker ingelogd houden met nodeJS

Je moet het verschil begrijpen tussen een express-server en een native NodeJS-server, hier mijn link vergelijking nodejs-server versus express-server

Dus je kunt het volgende doen:

var app = express();
var server = http.createServer(app);

Dit stelt je in staat om nog steeds de low-level functionaliteit te hebben met NodeJS.

Dus als u geen bestaande modules of framework wilt gebruiken, kunt u uw eigen sessiemanager bouwen:

  1. cookie gebruiken
  2. IP/UA gebruiken
  3. socket gebruiken

De beste manier zou zijn om het eerst te implementeren met socket , bijvoorbeeld:

server.on('connection', function (socket) {
  socket.id = id;
});

of

server.on('request', function (req, res) {
  req.connection.id = id; // The socket can also be accessed at request.connection.
});

U hoeft dus alleen een middleware te implementeren die de id controleert.

Als u wilt voorkomen dat session prediction , session sidejacking , enz. moet u cookies, ip, socket en uw ideeën combineren om het veiliger te maken voor uw app.

Als je eenmaal je sessiebeheer hebt gedaan, kun je kiezen waar je de sessies wilt opslaan, in een eenvoudig object , in redis , in mongodb , in mysql ... (express gebruik MemoryStore standaard, maar misschien niet nu)



  1. MySQL InnoDB dead lock op SELECT met exclusieve lock (VOOR UPDATE)

  2. SQL Server 2016:back-up van een database

  3. STANDAARD waarden invoegen

  4. Oracle FOUT:ORA-00900:ongeldige SQL-instructie