フォーム認証を使用している場合、ASP.NET セッションの有効期限が切れる日時を特定することはできますか?
セッションの有効期限が近づいたときにユーザーに警告したいと思います。セッション状態はなく、スライド有効期限は無効になっています。system.web 設定の一部を次に示します。
<authentication mode="Forms">
<forms defaultUrl="Default.aspx" loginUrl="Login.aspx" requireSSL="false" enableCrossAppRedirects="true" cookieless="AutoDetect" timeout="2" slidingExpiration="false"/>
</authentication>
<sessionState mode="Off"/>
セッションのタイムアウト/有効期間は簡単に決定できますが、ユーザーがセッション ウィンドウ内でページを更新した場合、再読み込み時に有効期間の値を日時に追加しても正確ではありません。
値として暗号化されたチケットを含む認証 Cookie を使用すると、FormsAuthenticationTicket
それを復号化して有効期限の日時を取得できます。
一部の AJAX 呼び出しが行われる可能性がありますが、ユーザーは Web サーバーへのポストバックやリクエストなしで UI を操作する可能性があります。
Cookie を使用せずにこの種の動作を実現する方法についてのアイデアはありますか?