将客户端的请求变量添加到用于MiddleWare Router的NodeJS Server

时间:2019-07-15 10:56:40

标签: javascript node.js express

我试图基于用户登录使用路由来帮助来自nodejs服务器的服务器页面。我试图从客户端获取登录会话详细信息,并将其传递回NodeJS服务器以供使用在用于验证身份验证的中间件功能中。

如何从客户端向请求NodeJS路由的变量中添加变量?

middleware.js

function loginRequired(req, res, next) {
  if (!req.user) {
    return res.status(401).render("unauthenticated");
  }
  next();
}
module.exports = { loginRequired };

server.js

app.use("/dashboard", middleware.loginRequired, mainPage);

期望的结果是,用户单击“登录”,将一些变量发送回去,以及对该路由的请求,这些变量(即req.user)用于检查身份验证。

1 个答案:

答案 0 :(得分:0)

您可以在中间件之前使用Cookie发送变量,并使用cookie parser。它提供了已解析的cookie。

例如,您可以在Cookie中发送一个User变量,然后在您的中间件中使用req.cookies,其中将包含您的User变量。

或者,您可以在POST请求中发送数据,并使用body-parser执行相同的操作。但是出于认证目的,您应该使用cookies