2017-02-26 3 views
1

나는 세션을 저장하기 위해 const SessionStore = require('express-session-sequelize')(expressSession.Store);을 사용하고 있습니다. 세션에 현재 사용자로 로그인하고 싶습니다.이 사용자는 사이트에 로그온합니다.nodejs에서 세션을 표현

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; 

지금이 req.session.user = result; 후 나는 현재 사용자 데이터와 DB 세션 테이블에있다 : 그래서, 지금 로그인에 나는이이

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 
})); 

: 여기

매장을위한 구성입니다. Now,

  1. 이 사용자가 인증되었는지 어떻게 확인할 수 있습니까? 당신이 표현을위한 훌륭한 사용자 관리자의 passportjs 을 사용하고를 제공 할 수있는 사용자 관리자에 대한
  2. 내가 모든 요청에 ​​대해 내가 diferrent sessionID와 (이 괜찮습니다) 얻을 것을 알 수

감사

답변

0

안녕 사용자 관리자 논리를 사용하여 핸들링 품질을 높입니다.