2

パブリックおよびプライベートのものを処理するバックボーン アプリケーションがあります。

公開 =>ログイン、登録、ニュースなど

プライベート =>チャット、その他のユーザー固有の情報。

アプリケーション全体を保護するために、node.js にはセッションベースの認証メカニズムがあります。このメカニズムにより、backend-api が保護されます。問題は、フロントエンドをどのように保護できるかです。

  1. バックボーンでルートを保護するにはどうすればよいですか
  2. バックボーンでモジュール (requireJs) を保護するにはどうすればよいですか

私が持っていた 1 つのアイデアは、フロントエンドをパブリックとプライベートに分割し、サーバーがプライベート アセットへのアクセスを許可するかどうかを決定することでした。

他にどのようなフロントエンドの安全な概念がありますか?

より具体的にするには: ユーザーが認証されているかどうかをクライアント側で確認し、require-jsモジュールのロードを認証されていない人に制限したい(bandtwitchを節約するため)

4

1 に答える 1

1

サーバーは、現在のユーザーが (おそらく Cookie を介して) 認証されたかどうかを確認するための API を提供する必要があります。

バックボーンでは、ルート/ナビゲーションで、ユーザーが認証されているかどうかを確認してから、コードを実行するかどうかを確認できます (おそらく、認証チェックの後に requireJS モジュールを呼び出します)。

私の知る限り、ユーザー状態の概念を持つバックボーンはありません。サーバーから認証状態を要求する setTimeout ループを実装し、その上に Backbone.Events を実装して、ユーザーが認証されていないときにイベントを発行することができます。ログイン ビュー、またはユーザーをログイン ページにルーティングします。

私は主にバックエンドにcouchdbを使用しており、現在のユーザーの認証の状態を知らせる$.couch.session関数があります。ほとんどの場合、バックエンド フレームワークにフックする独自のセッション関数を実装する必要があります。

于 2012-07-21T17:52:02.723 に答える