最近在写NetCore项目采用的是NetCore的Cookie认证。结果偶然发现QQ浏览器登录不好用。这里先需要了解一下set-cookie中的SameSite属性

 导致原因

首先Fiddler 4查看一下两次请求

第一次Post进行登录 返回302重定向到站点首页并带回Cookie (一切正常)

但是看第二条http请求,返回又是302 ,查看相关信息,请求时Cookie 根本没带入

到此基本知道整个登录失败是因为Cookie没有带入请求头。

解决方案:

  • NetCore Cookie认证下如何解决

经过一系列测试后发现是因为我们响应的Cookie里面有samesite属性 影响了QQ浏览器兼容Cookie带入(也许是个浏览器Bug吧)

好下面说如何解决此问题在NetCore认证中我们如何取消掉此属性,

  • 自定义Cookie如何解决

其实不光我们的认证Cookie  其他Cookie也一样 只要我们在NetCore中指定了Cooke的CookieOptions,不设置SameSite的情况下默认为SameSiteMode.Lax 此时在QQ浏览器兼容模式 你的Cookie就不会带入请求

 context.Response.Cookies.Append("test-SameSite", "", new CookieOptions()
{
SameSite=SameSiteMode.None
});

QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效的更多相关文章

  1. QQ浏览器兼容模式问题

    今天客户反馈有个问题,他说用360浏览器的兼容模式无法登陆系统,我试了可以,接着试了IE11,也可以,然后跟经理汇报,他说他用qq浏览器兼容模式就不可以,于是我试了,果然不可以... 问题是酱紫的:输 ...

  2. 360浏览器兼容模式下jsp页面访问不到js文件

    360浏览器兼容模式下jsp页面访问不到js文件 查看自己js中的语法问题,不要用ES6的语法,编译不了故找不到js文件 const var of 码出高效 java 比较 所有整型包装类对象之间值的 ...

  3. 360浏览器兼容模式下IE内核版本

    问题 最近在跟客户演示系统时,自己电脑IE 11下好好的,我们web系统最低支持到IE9.在客户电脑上,IE9浏览器下可以正常浏览,但是360兼容模式下,页面什么也不显示. 通过F12调试工具发现,3 ...

  4. flex与相对定位在国内双核浏览器极速模式下的兼容性问题

    在国内的浏览器中,360浏览器,QQ浏览器等绝大部分都是双核浏览器.双核浏览器即拥有IE兼容内核和非IE极速内核两个内核,分别对应兼容模式和极速模式.兼容模式时使用IE内核,极速模式采用webkit内 ...

  5. Angularjs在360兼容模式下取数据缓存问题解决办法

    测试提了一个bug,在360浏览器兼容模式下,删除页面数据需要手动刷新浏览器才能看到最新的数据.首先要复现当时的问题,很容易就复现了,但是发现在360浏览器兼容模式下无法打开开发者工具.好在经过反复重 ...

  6. javascirpt的json.stringify()方法在IE浏览器兼容性模式下出错的原因与解决办法

    今天开机混底薪的时候遇到一个JSON.stringify()在IE浏览器兼容模式下的问题. 问题描述 一个弹窗选择的功能原来好好的,突然就不行了. 想要调试调试不了,报错信息也看不到(一开F12这破I ...

  7. QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题

    原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...

  8. [AJAX]ajax在兼容模式下失效解决办法

    使用jQuery,用ajax实现局部刷新功能,在火狐,360急速浏览器高速模式下,ie8,9都能正常运行,但切换到兼容模式下无效,解决办法有两种关闭浏览器兼容性视图,二是引入json2.js文件 这里 ...

  9. 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字

    IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = {    x: 1,    y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...

随机推荐

  1. mybatis与springdata的一些简单比较与思考

    主题 最近在用mybatis做项目,有一些感触想记录下,主要是mybatis(以及它的一些插件)相比较于Spring data(或者jpa,hibernate等)的优势地方. 感触 我觉得mybati ...

  2. python 获取当前运行的类名函数名

    import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def func ...

  3. SMTPSenderRefused: (530, ‘5.5.1 Authentication Required. Learn more at \n5.5.1

    在跟着<Flask Web开发:基于Python的Web应用开发实战>一书学习时,出现了以上错误提示. 问题出于第11章--博客文章.当运行 python manage.py runser ...

  4. 128. Longest Consecutive Sequence (HashTable)

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  5. DBArtist之Oracle入门第4步: Oracle创建数据库

    刚开始进去后,我是懵逼的状态,不知道要干嘛,之前常用的是MSSQL,感觉两者还是有区别的: oracle中:1.查询数据库名:select name,dbid from v$database;或者sh ...

  6. Linux安装MySQL全过程

    操作系统:CentOS 7.2  64位 mySQL版本:mysql-5.6.35 安装过程: (1)首先从mysql官网下载 MySQL Community Server 安装包. 选择对应的版本( ...

  7. spring4-2-bean配置-4-bean之间的关系

  8. 最近工作的一点小tips

    最近工作比较忙,但也积累了一些小tips,比较杂,不成系统,也并不很深入,就开一篇笼统的先记录一下,以后再深入挖掘. 1.-webkit-tap-highlight-color -webkit-tap ...

  9. [SoapUI] 通过编程的方式设置当前的Environment

    testRunner.testCase.testSuite.project.setActiveEnvironment("Live")

  10. 导入excel精华版

    //须引入 NPOI, NPOI.OOXML, NPOI.Openxml4Net, NPOI.OpenxmlFormats等程序集 自己去下载吧 NPOI组件很好用不可能下不到自己去吧,通常去百度网盘 ...