1

不明な点があります。

SomeModule.dll があるとします。

UserSession という静的クラスがあります。

たとえば、ユーザー固有の情報をここに安全に保存できますか: 例:

UserSession.Name = "xxx"

私は HTTPConext.Session を使用できることを知っています....しかし、セッションの範囲を正確に知りたいです/主に、ユーザーが長時間のセッションを持っている場合。ユーザーがログオンし、セッション(ユーザー)にいくつかのものを保存するとします...

彼が 3 週間後に戻ってきて、私が彼の Cookie を読み、それがまだ有効である場合、そのページは彼が決して離れていないように見えるはずです。HTTPContext またはセッション変数が消去され、再クエリとリセットが必要になるのはいつですか?

ありがとう

4

2 に答える 2

1

ユーザーセッションは、最後のリクエストから一定の時間だけ続きます.20分がデフォルトだと思います. その後、ガベージ コレクターがいつ処理を行うかによって、さらに数分かかる場合があります。3週間は続きません。必要な値を Cookie に保存するか、データベース レコードへの参照を使用してより適切な Cookie に保存できます。ただし、これはすべてセキュリティの問題を無視しています...

于 2013-02-06T21:47:07.327 に答える
0

セッション変数は、時間の長さに関係なく、必ずしも良い方法ではありません。アプリケーションを Web ファームにスケールアップする場合、これらは非常に複雑になります。機密データでない場合は、Cookie が最適です。それが大量のデータの機密データである場合は、ある種のユーザー認証の作成および/または Cookie データの暗号化を検討できます。

于 2013-02-06T21:53:11.463 に答える