0

私のアプリケーションには、ユーザー アカウントとパスワードを検証するためのログイン ページがあります。

ユーザーが給与、個人情報などの機密ページをクリックすると、パスワードを再入力するページにリダイレクトされるという拡張機能があります。

ユーザーが機密ページごとにパスワードを入力するのを避けるために、ユーザーが初めて機密ページをクリックして正しいパスワードを入力したときにセッションを作成したいと考えています。アイドル時間が 5 分未満の場合、他の親展ページをクリックしてもパスワードを再入力する必要はありません。そうしないと、PC が 5 分以上アイドル状態になると、パスワード ページにリダイレクトされます...

上記のアプローチのセッションを作成するにはどうすればよいですか?

web.config では、アプリケーション全体のセッション タイムアウトが既に設定されています。

<system.web>  
<sessionState timeout="240"></sessionState>
</system.web> 

このアプローチに別のセッション状態を割り当てることはできますか? ありがとう

4

1 に答える 1

1

Session次のように、値自体にタイムスタンプを保存することをお勧めします。

Session("ConfidentialPageAccess") = DateTime.Now

次に、値を確認したい場合はSession、次のように、保存されている値と「現在」から 5 分を引いた値を比較できます。

Dim dateConfidentialPageAccess = TryCast(Session("ConfidentialPageAccess"), DateTime)

If (dateConfidentialPageAccess - DateTime.Now).TotalMinutes > 5 Then
    ' Redirect to login page
End If
于 2013-08-06T16:10:09.353 に答える