2

Backbone.js でログイン/ログアウト コントロールの機能を設定する方法が少しわかりません。

これは私が考えていることですが、これで問題ないのか、このアーキテクチャに問題があるのか​​ わかりません。

  • Model現在のユーザーです。を実行したときにモデルがHTTP 404応答を取得した場合fetch()、「現在のユーザー」は匿名ユーザーである必要があります。そうでない場合Model、現在のユーザーの情報が保持されます。
  • View: _
    • 現在のユーザーが「匿名」の場合、ユーザー名とパスワードの入力ボックスが表示されます。そして「ログイン」ボタン。
    • 現在のユーザーが有効なユーザーである場合、ビューには現在のユーザーのユーザー名と「ログアウト」ボタンが表示されます。

「ログイン」と「ログアウト」ボタンが押されたときにモデルをどうするかわかりません。モデルの機能を介してログインとログアウトを行う必要がありfetch()ますか、それとも、これらのアクションが別の POST リクエストをトリガーし、成功した結果が に入力されるか、別の操作を要求するModel必要がModelありfetch()ますか?

ご意見をお待ちしております。どうもありがとうございました。

4

2 に答える 2

1

私はあなたと同じ状況にありました。あなたはあなたが探しているものについて話しているこのブログ投稿に従うべきです。エラーやいくつかのセキュリティ問題を処理する方法についての詳細情報を提供します。

http://42floors.com/blog/posts/user-authentication-with-rails-and-backbone-js

于 2012-08-07T06:44:41.953 に答える
1

これはあなたが尋ねたことには少し予想外かもしれませんが、これが私がそれをやってのけた方法です:

モデル自体が必要な理由がわかりません。また、モデルの使用方法について混乱しています。したがって、「モデル」を念頭に置いて答えを組み立てることはできません。

だからここに私がそれをした方法があります:

ビュー: ログイン/ログアウト用のテキストボックスのみ。

「ログイン」をクリックすると、ユーザー名/パスワードを使用してサーバーに POST 要求を送信します (平文ではないことを願っています:)

サーバーの応答が 200 の場合はwindow.location、目的のページに変更します。それ以外の場合は、「無効なユーザー名/パスワード」と表示されます (もちろん、「次の」ページまたはアプリケーションの他のページで、ユーザーがログインしているかどうかを確認する必要があります。ログインページを表示します)。

これは私見の最も簡単な解決策です。ユーザーのモデルが必要な理由がわかりません。それは「ログイン後」ですか?次に、それを生成して保持するか、上記の 200 応答の一部として送信することができます。ただし、モデルはページの変更後も保持されません。いわば「次の」ページでモデルを再作成することをお勧めします。

(私は、ページの変更ではなく、ページの読み込みを想定しています$.load。後者の場合は、いつでもモデルを再利用できます)。

これが理にかなっていることを願っています。そうでない場合は、モデルの意図を明確にしてください。それに応じて回答を更新できるかもしれません。

于 2012-08-07T02:31:26.137 に答える