ASP网页注销用户

时间:2008-12-17 19:02:27

标签: session authentication asp-classic

我最近获得了一个较旧的ASP Web应用程序来维护。我没有触及太多,据我所知,实际的VB6项目文件已经消失,所以我只有自己的ASP文件才能使用。最近,用户开始抱怨被注销,有时一分钟或更短时间。我试过自己,登录一次,点击另一个链接,在显示页面内容之前检查身份验证,但在返回页面并让它显示内容之前必须再次登录。这种行为似乎刚刚弹出,因为没有人触及它,并且之前没有显示过这种行为。有关从哪里开始的任何建议?感谢。

5 个答案:

答案 0 :(得分:1)

由于有很多方法可以存储用户会话,因此如果没有更多信息,很难说出这里发生了什么。

如果用户“随机”注销,则向我建议您使用Session对象存储身份验证信息。可能会发生以下情况之一:

  1. IIS正在回收(重新启动)您的应用程序。这会吹掉你的Session对象。更多信息:http://msdn.microsoft.com/en-us/library/ms525803.aspx

  2. 这有点基础,但您是否在某种负载均衡配置中使用多个Web服务器?会话对象是特定于机器的。

  3. 另一种可能性。即使您没有使用Session对象,这也适用。我已经多次看到过这种情况。

    1. 您的应用是否可通过多个网址访问?换句话说,http://www.mysite.comhttp://mysite.com。 Cookie(和会话)是特定于域的,它们被视为两个独立的域。也许它们会在这两个网站之间被反弹,这要归功于诸如来自两个域的网页都有书签或因为您网站内的非相对链接/重定向等因素。

答案 1 :(得分:0)

身份验证令牌是否存储在Cookie中,现在您的浏览器中的Cookie已关闭?

答案 2 :(得分:0)

应用程序的配置参数是否可能已更改?或IIS配置(或更新版本的IIS)?是否存在任何系统级更改?

答案 3 :(得分:0)

如果没有人修改任何东西,并且没有人登录过该框,你是否考虑过做一个iisreset只是为了确保你不会追逐一些罕见的怪异?我讨厌诉诸iisresets但是当其他一切都失败时......

如果您可以提供更多信息,例如身份验证类型,存储方式(客户端cookie或其他方法)等等......我们可能会提供更多帮助。

古德勒克

答案 4 :(得分:0)

你用什么维持状态?由于webfarm / webgarden scenerio,您是否有可能失去会话?我已经看到很长一段时间都运行良好然后突然,应用程序(确定,asp.net)开始挑选/选择它想与之通信的进程。