0

我想登录用户并在那里存储会话,以便我可以识别它们。然后在后端有一些代码从那里获取数据并允许我将用户名传递给另一个数据库方法。

我有以下内容,但想使用会话而不必将其添加到我需要它的每个页面,或者这不可能?

var express = require('express');
var app = express();

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));

app.get('/awesome', function(req, res) {
  if(req.session.lastPage) {
    res.write('Last page was: ' + req.session.lastPage + '. ');
  }

  req.session.lastPage = '/awesome';
  res.send('Your Awesome.');
});

app.get('/radical', function(req, res) {
  if(req.session.lastPage) {
    res.write('Last page was: ' + req.session.lastPage + '. ');
  }

  req.session.lastPage = '/radical';
  res.send('What a radical visit!');
});
4

2 回答 2

0

最简洁的答案是不。

会话将可用于所有页面,但除非您添加会话及其选项,否则您将无法在代码中访问它。

所以它已经放在你想使用它的每个页面上。

于 2016-03-08T14:05:07.653 回答
0

像这样?

// my-middleware.js
module.exports = function(req, res, next) {
  if (req.session.lastPage) {
    res.write('Last page was: ' + req.session.lastPage + '. ');
  }
  req.session.lastPage = req.path;
  next();
};

// app.js
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(require('./my-middleware'));

app.get('/awesome', function(req, res) {
  res.send('Your Awesome.');
});

app.get('/radical', function(req, res) {
  res.send('What a radical visit!');
});
于 2016-03-08T14:54:30.607 回答