ASP.NET Core MVC 会话相同的站点 URL
Posted
技术标签:
【中文标题】ASP.NET Core MVC 会话相同的站点 URL【英文标题】:ASP.NET Core MVC session same site URL 【发布时间】:2022-01-18 07:28:27 【问题描述】:我有 2 个 ASP.NET Core MVC 应用程序在一个 IP 上的不同端口上运行(例如 App1:192.168.0.1:8000 和 App2:192.168.0.1:8001)。
登录App1
再登录App2
后,App1
会为下一个请求创建一个新的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();
....
【问题讨论】:
请尝试为CookieSession
和CookieAuthentication
使用不同的名称,您的两个应用程序可能会覆盖彼此相同的cookie。
@GordonKhanhNg。是的,我刚刚发现并回到这里查看您的答案,无论如何谢谢:)))
【参考方案1】:
发现我没有为每个 App 设置 cookie 名称,所以它像 @GordonKhanhNg 一样覆盖了其他 cookie。刚才说了。
services.AddSession(options =>
....
options.Cookie.Name = ".App1.Session";
....
);
【讨论】:
以上是关于ASP.NET Core MVC 会话相同的站点 URL的主要内容,如果未能解决你的问题,请参考以下文章
从 Azure 中托管的 ASP.NET Core 5.0 MVC 站点调用 API/服务的间歇性套接字异常
如何使用 ASP.NET Core RC2 MVC6 和 IIS7 获取当前 Windows 用户
将 ant 性能分析器附加到 asp.net-mvc 站点失败
ASP.NET Core MVC:设置身份 cookie 过期