gpt4 book ai didi

mysql - 使用 Express 更改回调内的 session 对象

转载 作者:行者123 更新时间:2023-11-29 23:40:11 25 4
gpt4 key购买 nike

我正在使用express和mysql,我正在尝试完成我的登录功能。

app.post('/login', function(req, res){
var username = req.body.username;
var password = sha1(req.body.password);
db.query("SELECT user_id, username FROM users WHERE username = '" + username + "' AND password = '" + password + "';", function(err, rows, fields){
if(rows.length > 0){
console.log("User " + username + " connected.");
req.session.user_id = rows[0].user_id;
}
});

});

如您所见,我对数据库进行查询,如果用户名和密码匹配(rows.length >0),我尝试通过在 session 对象中添加用户的 ID 来登录用户。

问题是 req.session 仅在回调内部修改,我找不到全局执行此操作的方法...我尝试调用函数登录(id),但这也不起作用。

如果有一点帮助就更好了,谢谢。

最佳答案

使用 Mysql DB 对用户进行身份验证的最佳方法是将 Passport.js 添加到应用程序中。

请参阅此存储库以获取完整示例:Node-Express-Passport-Mysql authentication .

如果您无法让它工作,请告诉我,我在家时会发布完整的代码示例。

关于mysql - 使用 Express 更改回调内的 session 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197627/

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