MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Obsługa wielu typów użytkowników przez Passport-local mongoose node.js

Po przejrzeniu dokumentacji paszportu.js (chwała dla Jareda) zrozumiałem, że prawie wszystko robię źle.

  1. Utworzono dwie lokalne strategie

    passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));

i uwierzytelnienia,

passport.authenticate('userLocal')(req, res, function () {
    res.redirect('/profile');
  });
and
passport.authenticate('clientLocal')(req, res, function () {
    res.redirect('/client');
  });
  1. Używany moduł paszportu (l=nie używający modułu paszport-local-mongoose) dla serializeUser i deseriealizeUser.

    passport.serializeUser(function(user, done) { done(null, user); });

    passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });

Cały schemat użytkownika (obiekt) jest teraz przechowywany w żądaniu i można do niego uzyskać dostęp za pośrednictwem dowolnej trasy.

Mam nadzieję, że pomoże to innym z podobnym problemem.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można połączyć się z mongodb errno:61 Połączenie odrzucone

  2. Meteor:nieoczekiwany kod wyjścia mongo 100

  3. Jak ClusterControl wykonuje automatyczne odzyskiwanie bazy danych i przełączanie awaryjne?

  4. paginacja tablicy mongoDB

  5. Odpowiednik procedury przechowywanej MongoDB