抱歉新问题,但是你能解释一下如何在nodeJS中使用会话。我在互联网上阅读了很多文章,但是我没有成功为我的目的实现某些东西(数据正在保存会话,但每个新的请求会话都是空的),你能从一开始就举例说明如何初始化和如何使用
目的:当用户在系统中登录时,我需要为他打开会话,并且他将来发送的每个请求都需要检查他的会话是否存在?
我正在使用快递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;
}
}
答案 0 :(得分: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);
});
但是节点服务器和客户端必须位于同一个域中。