2008-12-17 97 views
0

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

+0

对于登录,VBScript实例化一个对象来传递用户名/密码。我想我必须跟踪项目文件,看看还有哪些事情要在进一步控制之前进行控制。 – 2008-12-17 19:40:42

回答

1

由于存储用户会话的方式很多,所以很难在没有更多信息的情况下查看发生的情况。

如果用户正在“随机”注销,这表明您正在使用Session对象存储身份验证信息。可能发生以下某种情况:

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

  2. 这是有点基本的,但是你在某种负载平衡配置中使用了多个web服务器吗?会话对象是特定于计算机的。

另一种可能性。即使您未使用Session对象,这也适用。我曾多次看到过这种情况。

  1. 您的应用程序是否可以通过多个URL访问?换句话说,http://www.mysite.comhttp://mysite.com。 Cookie(和会话)是特定于域的,并且这些作为两个单独的域计数。也许他们正在两个网站之间跳来跳去,这要归功于来自这两个网站的网页已添加书签或者因为您网站中的非相关链接/重定向。
0

身份验证令牌是否存储在Cookie中,并且cookie现在在浏览器中关闭了?

0

应用程序的配置参数是否有可能被更改?还是IIS配置(或更新版本的IIS)?有没有系统级的变化?

+0

我看着eventvwr,除了我以外没有看到任何人登录,我什么也没有改变。 – 2008-12-17 19:12:02

0

如果没有人修改过任何东西,并且没有人登录到盒子中,你是否考虑过只是为了确保你不追求一些稀有的古怪?我讨厌求助于iisresets,但当其他所有失败时......

如果你可以提供更多的信息,如认证的类型,如何存储(客户端cookie或其他方法)等等......我们可能能够帮助更多。

goodluck

+0

我相信它是通过cookie存储的,但我会研究并编辑我的问题。谢谢。 – 2008-12-17 19:30:17

0

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

+0

不,它不在webfarm上,只有一台服务器。 – 2008-12-17 19:28:48