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

MEANスタックのログインシステムのアーキテクチャ?

    最終的に、元のワークフローをExpressの認証例と組み合わせました。ここ 。次のとおりです。

    • ユーザーが最初にアプリをロードすると、Expressエンドポイントに対してhttp呼び出しが行われ、ユーザーのセッションがすでに存在するかどうかが確認されます。その場合、ユーザーは$rootScopeに保存されます ログインしていると見なされます。
    • AngularJSルートが変更されるたびに、同じエンドポイントにアクセスします。ルート保護は、ここ 。エンドポイントがセッションが存在しないことを返す場合は、$rootScope.user が設定されておらず(必要な場合)、ユーザーはログインページにリダイレクトされます。
    • ログインフォームが処理されると、Expressエンドポイントに投稿されます。エンドポイントは、mongoDB(存在する場合)からユーザーを取得し、パスワードのハッシュを試みます。一致する場合、ユーザーのセッションが設定され、mongo DBに保存され、エンドポイントはuserを返します。 オブジェクト(前述のように$ rootScopeに格納するために使用されます)。
    • それ以上のエンドポイントにアクセスするときはいつでも、関数は最初にrestrictを通過します。 クライアントにデータを送信する前にセッションが存在することを確認する関数。 401を返します セッションが存在しない場合は、このHTTPインターセプター を使用してAngular側で処理されます。 $rootScope.userの設定を解除します ログイン画面にリダイレクトします。
    • ユーザーがAngular側で[ログアウト]をクリックすると、セッションが設定解除され、mongoDBの$rootScope.userから削除されます。 nullに設定され、ユーザーはフロントページにリダイレクトされます。



    1. MongoDB $ isoDayOfWeek

    2. RESTAPIから返された画像は常に壊れて表示されます

    3. 親キーが不明な場合にMongoDBを値でクエリする

    4. StackExchange.RedisとStackExchange.Redis.StrongNameの違いは何ですか?