2013-01-04 27 views
1

如何使用兩個LocalStrategy,一個用於前端驗證,另一個用於後端驗證?如何使用兩個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); 
    });   
})); 

回答

0

我認爲你可以做這樣的:

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

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

然後,無論你想使用一個策略,在路線,只是把它想:

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

和類似於後端。