首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP Net Core 2.2会话在重定向后丢失

ASP Net Core 2.2会话在重定向后丢失
EN

Stack Overflow用户
提问于 2019-04-23 23:12:58
回答 2查看 3.1K关注 0票数 7

我在Startup.cs中有以下会话配置

代码语言:javascript
复制
    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {
            options.CheckConsentNeeded = context => false;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });


        services.AddDistributedMemoryCache();

        services.AddSession(options =>
        {
            // Set a short timeout for easy testing.
            options.IdleTimeout = TimeSpan.FromSeconds(10);
            options.Cookie.HttpOnly = true;

            // Make the session cookie essential
            options.Cookie.IsEssential = true;
        });
     }

一切正常,会话会保留会话Id和数据。我要把一些预订信息放在那里。然后我将用户重定向到支付页面。成功付款后,用户被重定向回我的网站通过POST到PaymentController成功的行动。

显然,这个来自支付平台的POST请求不包含会话cookie,所以我只是在PaymentController成功操作中执行RedirectToAction("ContinueBooking"," payment ")。

重定向至操作后-浏览器发送会话cookie,但此时会话似乎已丢失,并分配了新的会话Id,所有数据都将丢失。有什么方法可以防止这种情况发生吗?或者我应该只使用数据库来存储重定向之间的数据(我可以通过支付终端绕过一些参数)?

EN

回答 2

Stack Overflow用户

发布于 2020-04-02 22:36:38

如果两个应用程序都在同一服务器上,那么这两个应用程序将是相同的cookie,第一个cookie将被支付应用程序的会话cookie覆盖。要避免这种情况,请自定义cookie名称:

services.AddSession(opt => { opt.Cookie.Name = "MySessionCookie"; });

票数 2
EN

Stack Overflow用户

发布于 2021-11-15 09:20:01

我有相同的场景,我需要重定向到另一个站点(身份网关),此站点post返回带有http post的响应标识。

对我来说,对于创建会话cookie的.net Core3.1,我需要使用options.Cookie.SecurePolicy.

如果没有这个,就不会创建cookie。

代码语言:javascript
复制
services
    .Configure<CookiePolicyOptions>(options =>
    {
        // not necessary
        //options.MinimumSameSitePolicy = SameSiteMode.None;
    })
    .AddSession(options =>
    {
        options.Cookie.HttpOnly = true;
        options.Cookie.IsEssential = true;
        options.Cookie.SameSite = SameSiteMode.None;
        options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; // this is the key
    })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55814347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档