我试图基于用户登录使用路由来帮助来自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)用于检查身份验证。
答案 0 :(得分:0)
您可以在中间件之前使用Cookie发送变量,并使用cookie parser。它提供了已解析的cookie。
例如,您可以在Cookie中发送一个User
变量,然后在您的中间件中使用req.cookies
,其中将包含您的User
变量。
或者,您可以在POST
请求中发送数据,并使用body-parser
执行相同的操作。但是出于认证目的,您应该使用cookies
。