在我的应用程序中,有一个用于验证用户帐户和密码的登录页面。
如果用户点击某些机密页面(如薪水,个人详细信息等),将会有一个增强功能,它将重定向到一个页面以再次输入密码。
为了避免每个机密页面的用户输入密码,我想在用户第一次点击机密页面并输入正确的密码时创建一个会话。如果空闲时间少于5分钟,即使点击其他机密页面,也不需要再次输入密码。否则,如果电脑闲置超过5分钟,它将重定向到密码页...
如何为上述方法创建会话?
在web.config中,它已经有整个应用程序的会话超时
<system.web>
<sessionState timeout="240"></sessionState>
</system.web>
我可以为此方法分配另一个会话状态吗? 感谢
答案 0 :(得分:1)
我建议在Session
值本身上存储一个时间戳,如下所示:
Session("ConfidentialPageAccess") = DateTime.Now
然后,当您想要检查Session
值时,可以将存储的值与“now”减去5分钟进行比较,如下所示:
Dim dateConfidentialPageAccess = TryCast(Session("ConfidentialPageAccess"), DateTime)
If (dateConfidentialPageAccess - DateTime.Now).TotalMinutes > 5 Then
' Redirect to login page
End If