2014-11-06 3 views
0

извините за новый вопрос, но можете ли вы объяснить мне, как использовать сеансы в nodeJS. Я прочитал много статей в Интернете, но я не успел реализовать что-то для своей цели (данные сохраняют сеанс, но каждый новый сеанс запроса пуст), можете ли вы дать пример с самого начала, как инициализировать и как использовать ,Сессия в nodejs

Назначение: когда пользователь заходит в систему, мне нужно открыть сеанс для него и каждый запрос, который он отправит в будущем, мне нужно проверить, существует ли его сеанс?

Я использую express 4.x. Я делаю это как:

// init session 
app.use(cookieParser()); 
app.use(session({ 
    secret : "yepiMobileSession", 
    resave : true, 
    key : "session", 
    store: mongooseSession(daoService.mongoose), 
    saveUninitialized : true 
})); 


// save user to the session 
request.session[CONST.SESSION_USER] = user; 

// Check login 
function checkLogin(id){ 
     var user = request.session[CONST.SESSION_USER]; 
     if (user && request.params.clientData && user._id == id){ 
      return true; 
     } else { 
      return false; 
     } 
    } 

ответ

2

Вы можете ознакомиться с нижеследующим кодом. Я думаю, это поможет вам.

var app = require('express')(), 
 
    expressSession = require('express-session'), 
 
    cookieParser = require('cookie-parser'); 
 

 
app.use(cookieParser()); 
 
app.use(expressSession({ 
 
    secret: 'mYsEcReTkEy', 
 
    resave: true, 
 
    saveUninitialized: true 
 
}));// I haven't used the session store 
 

 
//setting session 
 

 
app.post('/login', function(req,res){ 
 
    var id=12345; 
 
    req.session.userId = id; 
 
    res.send(200); 
 
}); 
 

 
//getting session 
 

 
app.get('/hello', function(req,res){ 
 
    var id=req.session.userId; 
 
    console.log("Hello",id); 
 
    res.send(200); 
 
});

Но сервер узла и клиент должен быть в том же домене.

+0

Спасибо, это помогло мне – Simcha

Смежные вопросы