gpt4 book ai didi

部署后 ASP.Net Core Identity 登录状态丢失

转载 作者:行者123 更新时间:2023-12-03 11:28:49 25 4
gpt4 key购买 nike

我正在使用 ASP.Net Core 和 MS Identity,我试图了解为什么在每次部署后登录用户都会注销。
我在 IIS 8.5 上运行

我一直在尝试这个线程中的方法(设置静态机器 key )
ASP.NET Identity 2 relogin after deploy
通过在 IIS UI 中的服务器级别生成静态 key 并将以下内容添加到网站的 web.config 中:

<system.web>
<machineKey validationKey="XXX"
decryptionKey="XXX"
validation="SHA1" decryption="AES"/>
</system.web>

然而问题依然存在:
  • 用户登录
  • 站点
  • 开始网站
  • 用户需要重新登录

  • 但我也这样做:
  • 用户登录
  • 重启网站
  • 用户仍处于登录状态

  • 什么会导致用户被注销?关于如何避免这种情况的任何想法?

    最佳答案

    (解决方案在克里斯评论之后分成单独的答案)
    我找到了一个保持登录状态的解决方案,它在网站停止/启动以及网站源文件夹的更新中仍然存在:

    public void ConfigureServices(IServiceCollection services)
    {
    services.AddDataProtection()
    // This helps surviving a restart: a same app will find back its keys. Just ensure to create the folder.
    .PersistKeysToFileSystem(new DirectoryInfo("\\MyFolder\\keys\\"))
    // This helps surviving a site update: each app has its own store, building the site creates a new app
    .SetApplicationName("MyWebsite")
    .SetDefaultKeyLifetime(TimeSpan.FromDays(90));
    }
    使用这些附加行和机器 key 集,登录数据在站点停止/启动和 IIS 服务器重新启动后以及如果站点被重建时仍然存在。
    更多信息: https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview
    justserega 提出的更多建议:
    https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/advanced?view=aspnetcore-6.0#data-protection

    关于部署后 ASP.Net Core Identity 登录状态丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40575776/

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