2017-01-05 7 views
2

:私は何をしたいかpassport.authenticate successRedirect私が持っている私のapp.jsで条件

{ _id: 586afad4a4ff884d28b6ca97, 
    firstName: 'Joseph', 
    ... 
    isAdmin: false } 

は次のとおりです:

router.post('/login', passport.authenticate('local', { 
    successRedirect: { 
    if(req.body.user.isAdmin === true) { 
     res.redirect('/admin/users') 
    } 
    res.redirect('/dashboard'); 
    }, 
    failureRedirect: '/login' 
}), function (req, res) { 
}); 

router.post('/login', passport.authenticate('local', { 
    successRedirect: '/admin/users', 
    failureRedirect: '/login' 
}), function (req, res) { 
}); 

私のユーザーオブジェクトは、次のようになります

しかしそれは私ができるように思われません。ユーザーがadminかpassport.authenticateを使用してログイン投稿を行うかどうかを確認する最も簡単な例は何でしょうか

答えて

3

私はそれを理解することができました。 passport.authenticateのオプションのオブジェクトが私を混乱させました。だから私がしたのは:

router.post(
    '/login', 
    passport.authenticate('local', { 
    failureRedirect: '/login' 
    }), (req, res) => { 
    if (req.user.isAdmin === true) { 
     res.redirect('/admin/gifts?filter=review'); 
    } 
    if (req.user.isAdmin === false) { 
     res.redirect('/dashboard/received'); 
    } 
    }); 
関連する問題