0

ユーザーのログイン資格情報に応じて複数のデータベースに接続できる Asp.Net MVC4 Web サイトがあります。ユーザーのデータベース アクセス リストを取得するには、ログイン時にいくつかの複雑な結合を実行する必要があります。これを複数回行う必要がないように、現在、データベース ID を暗号化して Cookie に保存しています。これは良い考えではなく、強力な暗号化でさえも破られる可能性があることに気付きました。さらに、暗号化された Cookie はすべてのリクエストで転送され、トラフィックが増加します。代わりに HttpContext.Current.Cache を使用してデータを保存することを考えています。これが良い考えかどうかについて、誰でもコメントできますか。また、より良いオプションがあるかどうかも知りたいと思います。

4

2 に答える 2

1

要件に基づいて(つまり、セッション全体でユーザー固有の機密情報を保持する)、正しい場所はSessionStateです。AFAIK セッションの状態は複数の Web サーバー間で共有できるため、サーバー ファームを使用した場合は何も変更する必要はありません。

于 2012-12-05T16:22:23.117 に答える
0

セッションは、ユーザーの機密データの適切なコンテナーです。または、データベースに保存して、セッションに保存されている識別子でそこに取得することもできます(大量のデータを保存する場合に役立ちます)。

于 2012-12-05T16:17:29.277 に答える