加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

什么可能导致asp.net应用程序忘记用户?

发布时间:2020-12-16 06:53:46 所属栏目:asp.Net 来源:网络整理
导读:我有一个asp.net应用程序似乎忘记了用户在一段时间后登录. 我正在使用会员提供商,当选择“记
我有一个asp.net应用程序似乎忘记了用户在一段时间后登录.

我正在使用会员提供商,当选择“记住”登录时,它会在会话期间记住它.我甚至可以关闭浏览器,重新启动并返回它仍然会登录.但过了一段时间它会忘记它似乎在任何过去的时间都会这样做.我曾经登录过,当我进入新页面时,它已被注销.

其他奇怪的事情是:

>在我的开发机器上,它会永远记住登录.即使在IIS重新启动并重新编译之后,它也会按预期记住我的登录信息.
>我在同一台服务器上有另一个应用程序,它永远记住了登录.我比较了他们如何处理登录,他们似乎是相同的.

这使我相信该问题与服务器有关,或者应用程序中的某些内容与登录和成员代码没有直接关系.我能看到什么?

编辑:
使用Fiddler查找cookie并且它们似乎没问题.
今天创建的身份验证cookie将在2周后到期,这是我的配置设置方式:
到期=周一,06-Sep-2010 01:47:51 GMT

编辑:
问题似乎是应用程序池正在回收,并且身份验证cookie变得无效,因为在机器密钥已更改时无法再读取它.解决方案是将machineKey段添加到web.config并提供静态机器密钥.

解决方法

有两种主要的可能性.

> Cookie过期.如果cookie过期/消失,那么您将被视为已注销.
> Cookie失效.登录cookie根据machineKey值加密.如果未指定machineKey,则每次应用程序池启动(或循环使用)时都会重新生成一个新计算机.这意味着使用旧machineKey加密的任何登录cookie现在都无效,您将不会被视为已登录.

检查IIS中应用程序池上的回收设置,看看它是否与您未登录的时间相对应.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读