【问题标题】:Express JS 4: exported routes and sessionExpress JS 4:导出的路由和会话
【发布时间】:2014-06-26 18:08:00
【问题描述】:

我对 node 还是很陌生,我已经解决这个问题几个小时了,但找不到解决方案:/ 也许你可以帮助我:)

我已将我的路线从应用程序导出到 routes.js。我有一个登录过程的 POST。登录后,我想将用户 ID 从数据库传递到会话中以供以后使用(例如套接字 io)。 我该如何构建这个? 我已经尝试了几种设置,但我似乎没有得到它。

app.js

var cookieParser = require('cookie-parser');
var session = require('express-session');
var sessionStore = new session.MemoryStore();
app.use(cookieParser('lts session'));
app.use(session({ secret: 'lts session', cookie: { maxAge: 600000 }, store : sessionStore}));
var router = require('./modules/routes.js');
app.use(router);

routes.js

router.post('/', function(req, res) {
    ....
    req.session.name =  admins[id].name;
    req.session.userId = id;
    ...
};

稍后我通过记录 sessionStore 来控制我的会话。

【问题讨论】:

  • 如果您概述您尝试了哪些“设置”以及它们如何无法解决您的问题,这可能会对未来的读者有所帮助
  • 你看过express-session吗?
  • 我正在使用快速会话。我的问题是那些 req.session 变量没有保存。现在我正在使用 app.post 等而不是 router.post.... 仍然没有进展:/

标签: node.js session routes express-4


【解决方案1】:

如果你操纵你的会话变量,那么只需使用:

req.session.save()

这将保存您的会话操作。 示例:

router.post('/', function(req, res) {
  ....
  req.session.name =  admins[id].name;
  req.session.userId = id;
  req.session.save()
  ...
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2014-07-08
    • 2016-09-20
    • 1970-01-01
    • 2017-02-02
    • 2014-10-03
    • 1970-01-01
    相关资源
    最近更新 更多