3

我无法理解 Web 应用程序的会话概念。我正在使用 Express 3.0 运行 Node.js 服务器。

要求:

  • 为每个登录的用户创建一个会话

  • 存储此会话并将其用于验证用户是否已登录(防止两台设备同时使用同一用户)

  • 限制对某些页面的访问(通过将会话 ID 与其他一些数据相匹配)

护照存储会话在哪里?

4

1 回答 1

2

它将用户会话(使用 express 或 connect)存储在req.user.

请记住,这与 express 会话中间件不同,后者可以存储您想要的任何内容req.session

要使用护照保持用户会话,请使用护照的中间件:

app.use(express.session({ secret: 'keyboard cat' }));
app.use(passport.initialize());

然后像这样访问用户:

function someRoute(req, res, next) {
  // req.user = the user of this session
}
于 2013-01-09T21:29:05.180 回答