gpt4 book ai didi

session - Express.js req.session 变量不通过不同的路由存储 session 变量

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:05 26 4
gpt4 key购买 nike

无法访问 sreq.session 变量。我将 req.session.username 设置为 someVariable 但我得到不明确的。以下 Express 设置是否允许我访问每个路由中的 req.session 变量?

app = express.createServer(
express.logger(),
express.cookieParser(),
express.session({ secret: 'keyboard cat' })
)

Express网站好像就是这么用的。

编辑:

这是我使用的其他一些代码:

if(result[0] != undefined && result[0].Password == req.body.user.pass){
console.log("login successfull");

//Setting in the cookies some variable useful later
req.session.userAuthenticated = true;
req.session.username = result[0].Username;
req.session.projects = result[0].Projects;

这是 /login 路线的一部分。在这一部分中,我检查用户是否正确输入密码以及是否注册。如果我执行 console.log(req.session.username) 我会得到登录用户的正确用户名。

在另一条 route ,将其称为/wathever 我在像这样的数据库检索后进行检查

if(projects[i].name == projectName && projects[i].username == req.session.username){

projectName 是我从用户处以 POST 形式收到的内容,它有效,它具有正确的内容,但如果我检查 req.session.username 我收到未定义。 session 变量似乎不包含我在上一个路由中放入的内容...

谢谢

最佳答案

确保 result[0].Username && result[0].Projects 未定义。

您的代码中还有另一个问题,您没有检查 req.body.userreq.body.user.pass 是否未定义。例如,我可以使用参数“test=ok”向您的网站发出发布请求,因此如果没有这些变量,它会显示一个内部错误页面。

关于session - Express.js req.session 变量不通过不同的路由存储 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com