gpt4 book ai didi

cookies - asp.net core session 不工作,在响应头中设置cookie但未在浏览器中设置

转载 作者:行者123 更新时间:2023-12-02 16:53:55 25 4
gpt4 key购买 nike

我正在使用 session 来管理 ASP.NET CORE 中的应用程序状态,其配置如下。

 services.AddSession(options =>
{
options.CookieName = ".my.Session";
options.IdleTimeout = TimeSpan.FromSeconds(20);
});

它可以在本地主机上运行,​​但在远程 IIS 8 上它不会创建 cookie,因此无法获取值。我也启用了CORS,但不知道到底是什么导致了这个问题。在日志中也没有显示错误。在响应 header 中设置 cookie 存在但未在浏览器中设置

最佳答案

我前段时间遇到过这个问题。可能与新的Cookie政策有关。

尝试设置options.CheckConsentNeeded = context => false;。所以在 Startup.cs 的“ConfigureServices”里面,它需要像这样:

public void ConfigureServices(IServiceCollection services)
{
var connection = Configuration["ConnectionStrings:DefaultConnection"];
services.AddDbContext<ProjectDbContext>(options => options.UseMySql(connection, b => b.MigrationsAssembly("PrimaryProject")));

services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.

//Here comes the change:
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});



services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(connection));
services.AddDefaultIdentity<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();



services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddSessionStateTempDataProvider();

services.AddSession();
}

问候,

H.艾伯哈特

关于cookies - asp.net core session 不工作,在响应头中设置cookie但未在浏览器中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38065873/

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