登録済みまたは非登録ユーザー用のバックボーンとRequireJSを使用してjsアプリケーションを作成します。データベースからデータを取得するには、単純なJSON Webサービスを使用しますが、もちろんいくつかのメソッドはクエストでは使用できません。問題は、どこからどのように私はすべてのビューでそれをリロードせずにサーバーから取得する認証データを格納する必要があるか分からないということです。クッキーを使うべきですか?バックボーンとAMDモジュールを使用する場合、認可データを保存する場所はどこですか?
答えて
あなたの認証、認証方法、およびユーザーのために考慮する必要があるセキュリティの種類によって異なると思います。 RESTfulにしようとしている場合は、セッションを保存する(少なくともサーバー側)ことはできません。可能ですが、サーバに状態が保存されているためにRESTfulではありません。私はクライアント側の状態を保存するのは大丈夫だと聞いてきましたが、私が読んだことから、このアプローチを取る特定の実装についてコミュニティがどのように感じているのか分かりません。 (クッキーのように、私は後でこれを再訪します)
あなたは誰かがユーザー名とパスワードでログインしたとします。その情報をあなたのBackboneアプリケーションで保持することができます。おそらく、これを行うAUTHというモデルがあります。サーバーに要求するたびに、サーバーが認証し、指定されたリソースへのアクセスを許可または拒否する各時点でそのデータを送信します。基本認証を使用する場合、この情報はヘッダーにあると思います。 SSLを使用すると、この情報を有線経由で送信することに関する主要なセキュリティ上の懸念が緩和され、その他の議論ではこれが私たちが使用しているものと仮定します。
これを行う方法のもう1つは、暗号化されたCookie、暗号化されたCookieセッションを使用することです。これが私の現在のアプリケーションで行うことです。正直なところ、これがRESTfulな原則に違反しているかどうかはわかりません。ウェブ上の一般的な話題には、「クッキーが悪い、セッションが悪い」という人がいるようです。クッキーを使用すると、誰かがユーザーのコンピュータにアクセスした場合にハイジャックに晒されることがありますが、アプリケーションやセキュリティの必要性によっては、不合理なオプションではない可能性があります。それは私のために働く、それがRESTfulでないなら、私はそれをRESTLikeと呼ぶのが好きです。
終了するにはセットアップについて説明します。これについてのあなたの考えだけでなく、スタックの意見を得ることはいいですね。
基本的には、誰かがメインページに行くと、サーバーは暗号化されたCookieセッションをチェックします。クッキーセッションが無効または存在しない場合、ユーザーにログインする機会を持つ通常のページが表示されます。彼らがログインすると、私はその情報をPOST経由で送信するので、URIではなく要求の本体に入ります。 (これは技術的にはPOSTを使用してリソースを保存するため、REST HTTP動詞の概念に違反します)。その情報が処理されると、ユーザー名を確認し、固有のsaltで作成されたハッシュを渡し、サーバーは暗号化されたセッションCookieを作成し、それをユーザーに返します。今、私のユーザーが認証を必要とするルートに当たるたびに、サーバーはクッキーがまだ有効かどうか(タイムリミット、ユーザー情報など)をチェックし、そうであればアクセスを許可します。そうでない場合は、クッキー情報を破棄し、適切なステータスコードを返信します。バックボーンアプリは、認証されていないユーザーの手に入るべきではないビューやデータをリセットし、ログイン画面を表示することでこれに反応します。
これはあなたのアイデアを提供します。これは私のやり方に対する答えですが、誰かが批判やより良いアイデアを持っているなら、私は代わりにそれらをアップボートするのが喜ばしいでしょう。
- 1. MVC:データを保存する場所は?
- 2. BigQueryでデータを保存する場所
- 3. キャッシュファイルを保存する場所にinterventionimageキャッシングを使用する場合は、
- 4. 認証トークンを保存する場所
- 5. アプリケーション固有のデータを保存する場所はどこですか?
- 6. androidのデータを保存する場所
- 7. クライアント側のSSL認証を使用する場合のキーストアのパスワードを保存する方法と場所
- 8. ハイブリッドモバイルアプリで認可トークンを保存する場所はlocalStorageですか?
- 9. ブラウザユーザーの認証データを保存する場所
- 10. 保存場所データは
- 11. ファイルを保存する場所を.pdfとして保存するかどうかを確認する
- 12. ここで、edwardのソースコードのNormalクラスの場所はどこですか?エドワードを使用する場合は
- 13. 異なる設定を保存する場所はどこですか? C#サービス
- 14. ajaxコールから受け取るデータを保存する方法と場所はどこですか?
- 15. ApplicationDataは、onPauseでデータを保存する場所として安全ですか?
- 16. デフォルトでhg拡張子を保存する場所はどこですか?
- 17. iOS 5アプリケーションでファイルを保存する場所はどこですか?
- 18. Hawtioログとinsight-log4jを使用してログを保存する場所はどこですか?
- 19. エラーチェックにCRCを使用する場所はどこですか?
- 20. カスタムメタデータを保存する場所は?
- 21. DDD:非ドメインデータを保持する場所はどこですか?
- 22. /tomcatで永続データを保存する場所/方法は?
- 23. エージェントの履歴をSQL Serverに保存する場所はどこですか?
- 24. Rails + Delayed Job:カスタムジョブクラスを保存する場所はどこですか?
- 25. コードレビューの前にコードを保存する場所はどこですか?
- 26. Openshift v3にCSSファイルを保存する場所はどこですか?
- 27. iOSアプリケーションに定数を保存する場所はどこですか?
- 28. Spring Boot、Angular2、Postgresql-画像を保存する場所はどこですか
- 29. Javaクロスプラットフォームアプリケーション:外部ファイルを保存する場所はどこですか?
- 30. Windowsに一時ファイルを保存する場所はどこですか