7

backbone.js と require.js の学習を開始しました。

ユーザー認証を使用して Web アプリのファイルを構成する方法がわからない。

次のように流れるようです。

  1. アプリの初期化時に、サーバーにクエリを実行して認証セッションの状態を確認します。
    • Q#1: この「after init」セッション コードは /js/app.js のどこに記述すればよいですか?
    • Q#2: これには jQuery ajax を使用する必要がありますか、それともより優れた backbone.js メソッド (例で get()、fetch()、toJSON() への参照を見たことがあります) はありますか?
  2. 成功した場合、認証データをモデル (user_id、username、auth_token) に保存します。
    • Q#3: モジュール全体でそのデータにアクセスできるように、このモデルをどこでどのように初期化すればよいですか? すなわち。「Hello %username%! Logout」と表示される「isLoggedIn.html」のテンプレートを表示するビューがあります。このモデルから「ユーザー名」フィールドにアクセスしたい。現在、ビューのdefine[]で参照して新しいモデルを作成する方法しか見ていないので、init時に作成されたモデルにアクセスする方法がわかりません。
  3. jQuery $.cookies を使用してこの認証データを保存および取得するため、ユーザーがページを離れて戻ってきた場合、ユーザーに再度ログインを要求する代わりに、サーバーにクエリを実行してセッションを確認できます。
    • Q#4: jquery.cookies.js プラグインをこの requirejs アプリに含めて、後で通常どおり $.cookies を使用できるようにするにはどうすればよいですか? このプラグインを define[] リストに追加する必要がありますか? /js/jquery/loader.js ファイルに追加する必要がありますか?

ご協力いただきありがとうございます。

編集:モジュラー バックボーンの例のファイルを使用して、Web アプリを作成しました。したがって、/js/app.js と js/router.js について話しているときは、それらのファイルを参照しています。

4

1 に答える 1

2

私も同じ状況です。この投稿を見つけました。すべてのリクエストがこのソリューションを使用する前に何かを行うのが最善の選択肢のようです。

/login 以外の URL にアクセスする前に、Cookie による認証を行うか、ログイン ビューを実行します。

他のフォルダー (jQuery cookie) を含める方法については、require.js メカニズムを使用するだけです。

  1. メイン ファイル 'require.config' -> 'paths' にプラグインの場所を追加します (jqueryCokkie:)
  2. 「定義」の下のビューで、パス名 (「jqueryCookie」) を追加し、関数に渡します。
  3. .js ファイルは次のような構造になっている必要があります(コード例をここに貼り付けようとしましたが、問題が発生しました...)。
于 2012-06-14T08:27:34.607 に答える