我有一个asp.net应用程序,似乎忘记了用户登录后不久。什么可能导致asp.net应用程序忘记用户?
我正在使用成员资格提供程序,当选择“记住”日志时,它会在会话期间记住它。我甚至可以关闭浏览器,重新启动并回来,它仍然会登录。但过了一段时间它就会忘记,它似乎在任何时候都会这样做。我曾经登录过,当我去到一个新的页面时,它被注销。
其他奇怪的事情是:
- 在我的机器它会记住在日志中,直到永远。即使在IIS重新启动并重新编译后,它也会按预期记住我的登录。
- 我有另一个应用程序在同一台服务器上,永远记住登录。我比较了他们如何处理登录,他们似乎是相同的。
这使我相信这个问题与服务器有关,也可能与应用程序中与登录和成员代码没有直接关系的东西有关。我可以看什么?
编辑: 使用Fiddler查看cookie,他们似乎没问题。 今天创建身份验证cookie过期从现在开始2周,这是我的配置是如何设置的: 到期=周一,06月2010年1时47分51秒GMT
编辑: 这个问题似乎是,应用程序池正在循环使用,并且身份验证cookie变得无效,因为机器密钥已更改,无法再读取它。解决方案是将machineKey段添加到web.config并提供静态机器密钥。
太多龙舌兰酒? – 2010-08-22 20:11:13
记住我的功能是基于cookie。所以我会诊断cookie的生命周期。 – 2010-08-22 20:27:46
我看了一下cookie,它的到期日期是2个星期。 – dtc 2010-08-23 02:05:39