ASP.NET 核心 MVC 会话同一站点 URL

ASP.NET Core MVC session same site URL

我有 2 ASP.NET 核心 MVC 应用程序 运行 在一个 IP 的不同端口上(例如 App1:192.168.0.1:8000 和 App2:192.168.0.1:8001)。

登录App1后,再登录App2App1会为下一次请求创建一个新的SessionId,所以无法获取授权数据的旧会话。

我在startup.cs

中是这样设置的
public void ConfigureServices(IServiceCollection services) 
{
    ....
    services.Configure<CookiePolicyOptions>(options =>
    {
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.None;
    });
    ....
    services.AddDistributedMemoryCache();           
    services.AddSession(options =>
    {
        options.IdleTimeout = TimeSpan.FromMinutes(60);
        options.Cookie.HttpOnly = true;
        options.Cookie.IsEssential = true;
     });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
{
    ....    
    app.UseCookiePolicy();
    app.UseSession();
    ....
}

发现我没有为每个应用程序设置cookie名称,所以它会像@GordonKhanhNg一样互相覆盖cookie。刚才说了

services.AddSession(options => {
    ....
    options.Cookie.Name = ".App1.Session";
    ....
});