ユーザーをログアウトする方法に少し戸惑っています。
現時点では、セッションタイムアウトを20分に設定しており、セッションの期限が切れたら、ユーザーはログアウトする必要があると思いました。
session_endでそれを行うコードを追加できます。
web.configでフォーム認証のタイムアウトに遭遇しました。現在、48時間に設定されています。
認証タイムアウトを20分に変更しましたが、これで問題は解決しました。
では、セッションタイムアウトはユーザーをログアウトする必要がありますか、それともフォーム認証タイムアウトによってこれを行う必要がありますか?
ありがとうございました
編集:
私が現在直面しているのは、セッション変数が0に設定されることです。これは、セッションがタイムアウトしたため、問題ありません。しかし、私はユーザーもログアウトすると思っていたでしょう。
認証データは常にCookieに保存され、フォーム認証タイムアウトに達したときにのみCookieがクリアされると言うのは正しいですか?
したがって、私が直面しているのは期待される行動です。ユーザーはセッションを失いますが、認証情報がCookieに保存されているため、ユーザーはまだログインしています。
その場合、セッションタイムアウトをフォーム認証タイムアウトとまったく同じに設定できます。ここでの前提は、ユーザーがWebサイトで何かを行うと、フォーム認証のタイムアウトが更新されることです。
もう1つの方法は、ユーザーをログアウトするsesseion_endメソッドにコードを追加することです。
編集2:
認証タイムアウトは、セッションのタイムアウトと同時に更新されますか?
編集3:
この「有効期限をスライドすると、単一のセッション中の各リクエストでアクティブな認証Cookieの有効期限がリセットされます。」それが私が達成しようとしていることだと私は信じています。セッションと認証タイムアウトが同じである場合、セッションタイムアウトがリセットされるたびに認証タイムアウトがリセットされ、これでジョブが実行されます。フィードバックは大歓迎です...