0

在我的应用程序中,有一个登录页面来验证用户帐户和密码。

如果用户点击一些机密页面,如工资、个人详细信息等,它将重定向到一个页面以再次输入密码。

为了避免用户为每个机密页面输入密码,我想在用户第一次点击机密页面并输入正确密码时创建一个会话。如果空闲时间少于 5 分钟,即使点击其他机密页面,也无需再次输入密码。否则,如果电脑空闲超过 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 回答