2017-02-26 3 views
1

Ich verwende const SessionStore = require('express-session-sequelize')(expressSession.Store); zum Speichern der Sitzungen. Ich möchte in Sitzung aktuellen Benutzer speichern, die auf der Website protokollieren.Sitzung in Nodejs Express

hier ist eine Konfiguration für den Shop:

const expressSession = require('express-session'); 
const SessionStore = require('express-session-sequelize')(expressSession.Store); 
const Sequelize = require('sequelize'); 
const myDatabase = new Sequelize('analytic', 'root', '', { 
    host: 'localhost', 
    dialect: 'mysql' 
}); 

const sequelizeSessionStore = new SessionStore({ 
    checkExpirationInterval: 15 * 60 * 1000, // The interval at which to cleanup expired sessions in milliseconds. 
    expiration: 24 * 60 * 60 * 1000, // The maximum age (in milliseconds) of a valid session. 
    db: myDatabase 
}); 
const cookieParser = require('cookie-parser'); 
app.use(cookieParser()); 
app.use(expressSession({ 
    secret: '412415415415415121212121', 
    store: sequelizeSessionStore, 
    name: 'session_id', 
    resave: false, 
    saveUninitialized: false 
})); 

So, jetzt für die Anmeldung ich dieses:

var express = require('express'); 
var url = require('url'); 
var router = express.Router(); 
var User = require('../../model').User; 
var jwt = require('jsonwebtoken'); 
var app = require("../../application"); 
router.post('/authenticate', function(req, res) { 
    User.doLogin(req).then((result)=> { 
     if (result) { 
      if (result.error) { 
       if (result.error.hasOwnProperty("email")) { 
        res.send(400, { success: false, message: "Incorrect user/password"}); 
       } else if (result.error.hasOwnProperty("activated")) { 
        res.send(400, {success: false, message: "You are not activated yet"}); 
       } 
      } else { 
       //app.createSession(req); 
       req.session.user = result; 
       res.send(200, result); 


      } 
     } 
    }); 
}); 


module.exports = router; 

Jetzt, nach dieser req.session.user = result; ich in db Session-Tabelle haben mit den aktuellen Benutzerdaten. Jetzt,

  1. Wie kann ich überprüfen, ob dieser Benutzer authentifiziert ist?
  2. und ich merke, dass für jede Anforderung ich verschiedene Einrichtungs sessionID (das ist ok)

Dank

Antwort

0

Hallo für Sie Benutzermanager passportjs verwenden können es ist ein großer Benutzermanager für Express- und bieten eine hohe Qualität für den Umgang mit Ihrer Benutzermanagerlogik.