javascript - 为 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)用于检查身份验证。
解决方案
您可以在 cookie 中发送变量,并在中间件之前使用cookie parser。它提供解析的 cookie。
例如,您可以User
在 cookie 中发送一个变量,然后在您的中间件中使用req.cookies
其中包含您的User
变量。
或者,您可以在请求中发送数据POST
并使用body-parser
它来做同样的事情。但出于身份验证目的,您应该使用cookies
.