【发布时间】:2017-01-26 09:10:36
【问题描述】:
我正在使用 express-session 来处理 NodeJS 应用程序中的会话变量。我使用会话变量来处理登录授权、保存登录的用户信息和其他内容。
问题是所有客户端都共享此会话变量,看起来它们作为 NodeJS 实例变量而不是每个客户端的会话变量工作。我想要的是会话变量在 PHP 中的工作方式。
此应用程序正在从 Laravel 后端应用程序的 Web 服务中检索所有数据。
这是我的代码:
初始化会话:
var sessionHelper = require('./helpers/session-helper');
var session = require('express-session');
app.use(session({
secret: config.SESSION_SECRET,
resave: false,
saveUninitialized: true,
cookie: {secure: true}
}));
sessionHelper.init(session);
global.SESSION = sessionHelper;
会话助手模块:
var _session = null;
module.exports = {
init: function (session) {
_session = session;
},
has: function (name) {
return ((_session[name]) ? true : false);
},
get: function (name) {
return _session[name];
},
set: function (name, value) {
_session[name] = value;
},
clear: function (name) {
_session[name] = undefined;
}
};
使用会话变量:
SESSION.set('hotels', response.hotels);
SESSION.get('hotels');
谢谢,
【问题讨论】:
-
你试过我的建议了吗?这很简单 - 如果有效,请关闭问题。
标签: node.js session express-session