【发布时间】:2013-06-14 07:18:20
【问题描述】:
好的,基本上我正在尝试在我的 Web 应用程序中实现表单身份验证,为此我需要知道 Web 服务器如何确定请求是否为新请求。这是因为网络服务器为每个新请求创建一个新会话。
所以我在每次成功登录时创建一个 authenticatecoookie,它是一个持久的 cookie,无论天气如何用户关闭他/她的浏览器或失去连接,它都会持续到超时,并且必须重新连接,因为这个 cookie 存储在客户端计算机上.所以在这种情况下,假设用户重新连接到服务器并且他的 authenticatecoookie 还没有超时。所以他的请求因此已经通过了身份验证,那么这是否也意味着这不是一个新的请求?并且服务器不会为它创建一个新会话,因为它已经退出了?
另一种情况/场景是,如果 authenticatecoookie 在用户重新连接之前超时,请求将不会被验证,但此请求是否也被视为新请求,因此服务器不会为其创建新会话因为已经退出了?
我问这个是因为一旦用户成功登录,我将在会话中存储用户 ID,以便当 authenticatecoookie 超时时,我可以在会话中检索用户 ID 作为会话时间比 authenticatecoookie 晚得多,然后更新我的用户表以指示该用户不再登录
【问题讨论】:
标签: c# asp.net session-cookies session-timeout