首页 > 解决方案 > 为 MiddleWare 路由器添加从客户端到 NodeJS 服务器的请求变量

问题描述

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

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

中间件.js

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

服务器.js

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

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

标签: javascriptnode.jsexpress

解决方案


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

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

或者,您可以在请求中发送数据POST并使用body-parser它来做同样的事情。但出于身份验证目的,您应该使用cookies.


推荐阅读