私のプロジェクトでは、2つのログインシステムを使用しています。 1つは管理者、もう1つはユーザー用、その他はユーザー用です。 既にPassportの助けを借りてAdminのログインシステムが実装されています。 今私は同じコンセプトを使用していますその時のユーザーログインシステムでは動作しません。私はそれが私の管理者ログインに影響することを意味します。 私のコードは、私が作品を、私はbasicStrategy使用asloが、その後私の管理者ログインが以前のように完璧に動作しますが、私のユーザーのログインではないので、LocalStrategyがエラーを発生させることを考えPassport LocalStrategy 2台のログインシステムで動作しません
passport.use(new LocalStrategy(
function(username, password, done) {
User.getUserByUsername(username, function(err, user){
if(err) throw err;
if(!user){
return done(null, false, {message: 'Unknown User'});
}
User.comparePassword(password, user.password, function(err, isMatch){
if(err) throw err;
if(isMatch){
return done(null, user);
}else{
return done(null, false, {message: 'Invalid Credential, please check carefully...!'})
}
});
});
}
));
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.getUserById(id, function(err, user) {
done(err, user);
});
});
router.post('/login',
passport.authenticate('local', {
failureRedirect: '/user/login',
badRequestMessage: 'Field cannot be blank.!!', //missing credentials
failureFlash: true
}),
function(req, res) {
req.flash('success_msg', 'Welcome ' + req.user.name);
res.redirect('/user/dashboard');
});
です。毎回Basic Realm = "Users"と言います。 任意のヘルプは、ローカルまたは基本戦略に実際