0

ユーザーのログイン時にアプリ全体で使用するユーザー情報を保存する必要がある Backbone.js と require.js を使用して Web アプリを作成しています。現在、ユーザーが資格情報を送信すると、Web サービスがユーザーを認証し、そのユーザーに関するデータを返します。従来は、その情報をセッションに保存できました。バックボーンを使用してこれを達成するにはどうすればよいですか?

4

3 に答える 3

1

そのために HTML5 SessionStorageを使用することをお勧めします。バックボーン統合については、このSessionStorageAdpater をご覧ください。

于 2013-03-20T23:48:50.227 に答える
0

現在、大規模なバックボーン/マリオネット アプリケーションを作成中です。ユーザー情報(パスワードなどではない)をuserというモデルに保存しています。次に、このモデルを使用して、最初にセッション ID をチェックしてユーザーを検証します。

// before every request
if (app.Core.models.user.get('sessionid') != "") {
  // then I run the code.  Authentication can still fail on the server.
} else {
  // trigger the event to bring up the sign in page
  app.vent.trigger('App:Core:Login');
}

app.Core.models.userユーザーがアプリケーションにログインした後、認証から受け取った情報をモデル内に保存します。私の認証では完全なユーザー名が返されないため、別の ajax 呼び出しを行ってこの情報を取得し、その情報もモデルに保存します。次に、ページのヘッダーのユーザー名を自動的に更新するページのセクションにモデルを関連付けます。

ブラウザは暗号化された Cookie を自動的に保存するので、この情報をサーバーに送り返す必要はありません。

于 2013-03-21T00:57:11.290 に答える
0

通常、認証情報は、リクエストごとにサーバーに送信される暗号化された Cookie に保存されます。これは基本的に、ログインしているユーザーを Web サーバーの ID ストアに関連付ける値です。

おそらく、プロファイル データ (つまり、ユーザーに関するメタデータ - 名、誕生日など) に関心があるでしょう。ユーザーがログインしたら、ページが読み込まれると、サーバーへの ajax 呼び出しを介して現在のユーザーに関するプロファイル データをフェッチします (要求には、Web フレームワークが現在ログインしているユーザーを見つけるために使用する認証 Cookie が含まれます)。 . そのため、現在のユーザーに関してアプリが必要とするプロファイル データを含む json データ構造を返すルートを Web アプリで公開する必要があります。

于 2013-03-21T00:50:56.950 に答える