gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:06:16 25 4
gpt4 key购买 nike

我有一个 asp.net 应用程序,它似乎忘记了用户在一段时间后登录。

I'm using the membership provider and when opt to "remember"the log in it remembers it during the session.我什至可以关闭浏览器,重新启动并返回,它仍然会登录。但过了一段时间它忘记了,它似乎在任何旧的时间都会这样做。我曾经登录过,当我进入一个新页面时,它被注销了。

其他奇怪的事情是:

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

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

    编辑:
    使用 Fiddler 查找 cookie,它们似乎没问题。
    今天创建的身份验证 cookie 从现在起 2 周后到期,这就是我的配置的设置方式:
    到期=周一,2010 年 9 月 6 日 01:47:51 GMT

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

    最佳答案

    有两种主要的可能性。

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

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

    关于asp.net - 什么可能导致 asp.net 应用程序忘记用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543141/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com