1

私のasp.netアプリケーションではHTTP、ユーザーがログインページにリダイレクトされる30分後にセッションがタイムアウトします。シナリオは次のとおりです。

  1. ユーザーが編集する項目をクリックすると、URL は次のようになります。

    http://localhost/app/edit?id=1

  2. ユーザーは、id=1 のアイテムを編集するためにページで特定の変更を行いましたが、それらを 30 分間「保存」しませんでした。

  3. 31 分目に保存をクリックすると、ログイン ページにリダイレクトされます。ログイン ページには、正しい資格情報を入力すると、リダイレクト先のリターン URL があります。

ユーザーがページを離れた状態を保持する正しい方法は何ですか? 私が持っているのは、次のようなログイン要求で返される戻り URL だけです http://localhost/app/edit

保存をクリックするとPOSTリクエストが実行されますが、クエリ文字列には何も渡されません。

にリダイレクトできるようにしたいhttp://localhost/app/edit?id=1

4

2 に答える 2

2

ASP.NET セッション ベースの状態メカニズムの外部で状態を保持するメカニズムを特別に構築していない限り、セッションはタイムアウト時に失われます。理論的には、選択したページ/入力からのデータの中間ドラフトをユーザーIDごとに保存する状態システムを構築できます。この方法で「孤立」する可能性のあるデータを含むページをある程度取得できますが、それにも必要です変更を保持するのに十分重要であると見なされたページのデータを定期的にバックグラウンドでデータベースに保存します。そうしないと、タイムアウトにより失われます。

于 2012-08-31T14:13:52.957 に答える
0

POST が発生すると、元の URL と、すべてのフォーム値を含むリクエスト オブジェクトが得られます。

リクエストは傍受され、ログイン画面にリダイレクトされます。その時点で、元の URL と要求値を保存し、ログインを処理してから、元の値で元の URL にリダイレクトする必要があります。

POST リクエストはどのように見えますか? 一時ストレージ (セッションなど) に詰め込むことができるオブジェクトはありますか、それともフォーム コレクションを処理しますか?

于 2012-08-31T14:13:41.693 に答える