sql >> データベース >  >> NoSQL >> MongoDB

Passportによる複数のユーザータイプのサポート-localmongoosenode.js

    passport.js(kudosからJared)のドキュメントを読んだ後、私はほとんどすべてが間違っていることを理解しました。

    1. 2つのlocalStrategiesを作成しました

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

    と認証するには、

    passport.authenticate('userLocal')(req, res, function () {
        res.redirect('/profile');
      });
    and
    passport.authenticate('clientLocal')(req, res, function () {
        res.redirect('/client');
      });
    
    1. serializeUserとdeseriealizeUserにパスポートモジュールを使用しました(l =passport-local-mongooseモジュールを使用していません)。

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

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

    これで、ユーザースキーマ(オブジェクト)全体がリクエストに保存され、任意のルートからアクセスできるようになりました。

    同様の問題で他の人に役立つことを願っています。



    1. MongoDB $ second

    2. findOneAndUpdateメソッドから更新されたドキュメントを取り戻すにはどうすればよいですか?

    3. CDPオペレーショナルデータベースの高可用性(マルチAZ)

    4. MongoDBの管理に関する考慮事項