zoukankan      html  css  js  c++  java
  • QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题

    这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为Lax。

    有时页面需要用到验证码时,可能需要TempData保存一下,但是这种情况是无效的,因此需要用Session来存取,因为Session可以配置SameSiteMode

    废话不多说,要修改的位置有3个,均是在Startup里面,设置完成即可

    services.Configure<CookiePolicyOptions>(options =>
                {
                    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                    options.CheckConsentNeeded = context => false;
                    options.MinimumSameSitePolicy = SameSiteMode.None;
                    options.ConsentCookie.SameSite = SameSiteMode.None;
                });
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options =>
                {
                    options.LoginPath = new PathString("/account/login");
                    options.AccessDeniedPath = new PathString("/denied");
                    options.Cookie.Name = ".demo";
                    options.Cookie.HttpOnly = true;
                    options.Cookie.SameSite = SameSiteMode.None;
                });
         services.AddSession(options =>
                {
                    options.Cookie.SameSite = SameSiteMode.None;
                });
  • 相关阅读:
    二维码生成代码
    部署javaweb项目到阿里云ecs(centos7)
    mysql基础知识
    IDEA快捷键快速补齐类和对象名
    Redis和elasticsearch
    在asp.net 项目的bin目录中使用子目录
    MVC项目引用备注
    OAuth相关备注
    手动安装windows的磁盘清理工具
    在CentOS上安装 MongoDB
  • 原文地址:https://www.cnblogs.com/loda7023link/p/11271109.html
Copyright © 2011-2022 走看看