调用login和submit表单时, use.authenticate()方法没有执行,也没有显示任何错误消息。
Server.js 文件:
const passport=require('passport');
const Strategy=require('passport-local').Strategy;
passport.use(new Strategy(
function (username,password,done) {
User.findOne({username:username,password:password},(err,res)=>{
if(err)throw err;
displayName=username;
console.log(res);
return done(null,res);
})
}
));
passport.serializeUser((user,done)=>{
done(null,user);
});
passport.deserializeUser((user,done)=>{
done(null,user);
});
app.post('/login',
passport.authenticate('local',{
failureRedirect:'/loginForm',
successRedirect:'/'
}
));
login.hbs 档案:
<article class="article">
<h1>login</h1>
<form action="/login" method="post">
Username<input type="text" name="username"><br>
Password<input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
</article>
答案 0 :(得分:0)
您是否在代码的其他部分初始化了护照?
app.use(passport.initialize());
app.use(passport.session());