【问题标题】:Why does .net Core not remember my cookie为什么 .net Core 不记得我的 cookie
【发布时间】:2020-04-20 13:09:55
【问题描述】:

我有一个在 Windows 2016 服务器 IIS 上运行的 dotnet core 3.1 项目。 登录后,会创建一个 cookie,但如果客户端重新启动他的 PC,cookie 仍然存在,但应用程序重定向到登录并且不记得用户。 Cookie 看起来无效。

在同一台服务器上,我们还有一个使用 .net 框架 4.5.1 构建的旧版本项目,我们从未遇到过有关会话或 cookie 的问题。

首先我想它可以来自客户端浏览器,但如果它来自客户端,那么两个应用程序都应该遇到同样的问题。

那么还有什么可能呢? 你有什么建议?

【问题讨论】:

  • 你能分享你的示例代码吗?你的机器钥匙设置是什么?它看起来像一些机器密钥配置问题。使用代码:public void ConfigureServices(IServiceCollection services){ var environment = services.BuildServiceProvider().GetRequiredService<IHostingEnvironment>(); services.AddDataProtection() .SetApplicationName($"my-app-{environment.EnvironmentName}") .PersistKeysToFileSystem(new DirectoryInfo($@"{environment.ContentRootPath}\keys")); ... }
  • 这可能是 iis 问题吗? Windows 2016 服务器。这两个应用程序在同一个 iis 网站下是相同的。 (默认网站)我们通过 ip 地址在外网访问它们。其中一个指向根 127.0.0.1,另一个位于应用程序 127.0.0.1/V2 中这会影响 cookie 吗?

标签: iis cookies .net-core


【解决方案1】:

我发现了问题。 IIS 的配置文件写入权限会导致此问题。我使用 aspnet_regiis.exe -ga "IIS AppPool.NET Core" 来授予权限。

在这个命令之后它已经工作了一段时间,但几天后它又发生了。 这次会是什么?

【讨论】:

    猜你喜欢
    • 2018-02-22
    • 2012-08-15
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 2017-10-30
    • 2018-01-01
    相关资源
    最近更新 更多