我只是在Passport
Node
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
这一切都很棒,我理解逻辑。但是我不明白
中变量User
的位置
User.findOne({ username:....
来自哪里?这没有在任何地方设置,让我感到困惑。
答案 0 :(得分:2)
该示例使用的是其他地方定义的mongoose model(User
)。 Mongoose模型有findOne function。它主要是填充,以显示如何使用策略在数据库中查找信息以验证用户。