如何将该密码保存在变量中,以便可以通过用户输入进行检查并进行身份验证。
下面是我的代码。
app.post('/check-user',(req,res)=>{
var user=req.body.n1;
var pass=req.body.n2;
MongoClient.connect(url,{ useNewUrlParser: true, useUnifiedTopology: true},function(err,db){
if(err) throw err;
var dbase = db.db("db");
//var query = { username: user };
dbase.collection("users").find({"username":user},{projection:{_id:0,Name:0,username:0}}).toArray(function(err, result) {
if(err) throw err;
console.log(result);
db.close();
});
});
})
app.listen(8080,()=>{})
输出为[{password:'keshav'}]
答案 0 :(得分:0)
如果我理解您的提问正确, 您不应将实际密码存储在数据库中。相反,您应该使用crypto之类的模块来加密密码,然后将其存储。你应该用谷歌搜索它。关于NodeJS中身份验证的文章/教程很多。
关于检查密码,您正在使用此行将用户的给定密码存储在pass变量(var pass=req.body.n2;
)中,对吗?因此,我相信一个简单的比较运算符应该适合您的情况。示例:
if (result[0].password === pass) {
console.log('Loggedin');
} else {
console.log('Login failed');
}