Cookieクエリの繰り返しまたはビューステートへの保存?どちらが良い方法ですか?
-
03-07-2019 - |
質問
ユーザーがログインする内部Webサイトがあります。このデータはCookieとして保存されます。そこからユーザーは快活に進みます。頻繁にアプリケーションは認証レコードを照会して、ユーザーが持っている権限を判断します。
これは、必要なときにユーザーデータのCookieを照会するか、ビューステートにユーザー情報を保存する方が効率的ですか?
[編集]以下で説明するように、セッションもオプションです。
解決
Viewstateは閲覧しているページに固有であるため、陽気な方法で表示されると消えます。データを永続化する良い方法ではありません。
最善の方法は、ASP.NETに組み込まれているフォーム認証を使用することです。また、ユーザー固有の情報をフォーム認証チケットの値に入れることもできます。そこに(暗号化後)4000バイトを取得でき、必要なものをすべて保持できます。また、サイト上のページへのユーザーアクセスを許可および拒否し、必要なときにいつでも有効期限を切れるように設定できます。
セッションへの保存は、スケーラビリティが非常に低いため(サーバー上のリソースを使い果たす)いいえであり、同じサーバーに複数のブラウザー接続があるユーザーにとっては面倒な場合があります。避けられない場合もありますが、可能であればそれを避けるために多大な苦労を払う必要があります。
他のヒント
個人的には、セッションここにある他の開発者は、それを「いいえ」と考えているように見えますが、物を保存します。
注意点が1つあります。セッションのハイジャックを防ぐために、ユーザーのIPをセッションに保存し、ユーザーの現在のIPと比較することをお勧めします。セッションのハイジャックを防ぐ方法について、おそらく他の誰かがより良いアイデアを持っている可能性があります。
セッションデータを使用できます-一度保存しておけば、クエリ文字列を変更してもユーザーはそのデータにだまされないことがわかります。
Cookieメソッドを使用します。セッションは大丈夫ですが、再コンパイル時にasp.netによって破棄されるため、セッション後も永続化する場合は非セッションCookieを使用する必要があります。また、ステートサーバーを使用する場合、基本的に同じことを行います(セッションをデータベースに保存します)。セッションは迅速で汚い修正のようなもので、実際の男性はCookieを使用します。