1

如何使用两个LocalStrategy,一个用于前端验证,另一个用于后端验证?

// font end
passport.use(new LocalStrategy({
    usernameField: 'email',
    passwordField: 'password'
}), function (email, password, done) {
    User.findOne({email: email}, function(err, user) {
        // ...
        done(null, user);
    });
});

// back end
passport.use(new LocalStrategy({
    usernameField: 'username',
    passwordField: 'password'
}, function (username, password, done) {
    SysUser.findOne({username: username}, function(err, user) {
        // ...
        done(null, user);
    });        
}));
4

1 回答 1

0

我认为你可以这样做:

// frontend
passport.use('frontend-local', new LocalStrategy({
  ....
});

//backend
passport.use('backend-local', new LocalStrategy({
  ....
});

然后,无论您想在哪里使用一种策略,在一条路线中,都可以这样称呼它:

app.post('/frontend/login',
  passport.authenticate('frontend-local'),
  ...

后端也是如此。

于 2013-01-04T18:11:31.123 回答