如何处理护照js中的多个会话

我正在使用护照js进行身份validation请求,但是在我的应用程序中,我需要维护两种不同types的会话,一个用于pipe理员用户,一个用于普通用户,这样,如果pipe理员login,则应该维护会话,如果用户login,那么会话应单独维护,现在我正在使用两个护照策略,一个是用户,另一个是admin_user,但是我从req.session.passport.user获得的会话是最后一个login,有什么办法让它分开像req.session.passport.admin和req.session.passport.user? 现在我有下面的策略。

passport.use('admin', new LocalStrategy({ usernameField: 'email', passwordField: 'password' }, function(email, password, done) { var adminflag = 'admin'; db.adminUser.find({ where: { email: email }}).success(function(user) { if (!user) { done(null, false, { message: 'Unknown user' }); } else if (!user.authenticate(password)) { done(null, false, { message: 'Invalid password'}); } else { console.log('Login (local) : { id: ' + user.id + ', username: ' + user.username + ' }'); done(null, user); } }).error(function(err){ done(err); }); } )); passport.use('user', new LocalStrategy({ usernameField: 'email', passwordField: 'password' }, function(email, password, done) { var userflag = 'user'; db.User.find({ where: { email: email }}).success(function(user) { if (!user) { done(null, false, { message: 'Unknown user' }); } else if (!user.authenticate(password)) { done(null, false, { message: 'Invalid password'}); } else { console.log('Login (local) : { id: ' + user.id + ', username: ' + user.username + ' }'); done(null, user); } }).error(function(err){ done(err); }); } )); 

       

网上收集的解决方案 "如何处理护照js中的多个会话"