0

私は新しいプロジェクトに近づいており、OWIN を介して MVC5 と Identity を使用して検討しています。

エンティティ フレームワークのユーザー データベース、登録/サインインなどを提供する足場プロジェクトを実行しています。サード パーティまたは 2 つの要素はありません。

私が現在理解しているように、OWIN セキュリティは Cookie に基づいています。Web に手を出してから数年が経ちましたが、ID とクレームをセッションに保存する必要があるという印象を受けました。

ユーザーがログインし、さまざまなクレームが設定されたときに設定される Cookie を調べています。基礎となるフレームワークが何をしているのか実際にはわかりません。見つけるのに苦労しています:

  • 技術的なリンクはありますか? インターフェースを実装してこれをセットアップする方法ではなく、セキュリティとベストプラクティスについてです。
  • この Cookie には実際には何があり、EditThisCookie で何が設定されているかを調べるにはどうすればよいですか? 暗号化または難読化されていますか?
  • これはセッションよりも安全ですか?
  • 誰かが、どのようにしてこの Cookie を取得した場合、基本的に同じユーザーとしてサインインできますか?
  • これはスケーリングしますか?通常、複数のフロント エンドが同じセッション サーバーと通信するためです。
4

1 に答える 1

1

足を濡らしていただけるサンプルを多数ご用意しております。 https://github.com/AzureADSamples

いくつかの質問に答えるには:

この Cookie には実際には何があり、EditThisCookie で何が設定されているかを調べるにはどうすればよいですか? 認証が成功すると、ユーザー ID は、ID を含む Cookie に保存されます。

暗号化または難読化されていますか?デフォルトでは、Cookie は暗号化され、署名されています。これはセッションよりも安全ですか?

誰かが、どのようにしてこの Cookie を取得した場合、基本的に同じユーザーとしてサインインできますか? チャネル バインディングが有効でない限り、はい。

これはスケーリングしますか?通常、複数のフロント エンドが同じセッション サーバーと通信するためです。スケールすることがわかりました。高速な SymmetricKey 暗号が使用されます。

詳細を送信せずにキャッシュを使用するオプションもあります。これには分散キャッシュが必要ですが、ほとんどの開発者はそうしたくないようです。

于 2015-07-08T21:16:29.277 に答える