中天建设网站,千博企业网站管理系统2013,佛山集团网站建设,icp备案号查询官网最近在发布了基于 ASP.NET Core 实现的新版登录页面之后#xff0c;陆陆续续地接到用户反馈登录时 Antiforgery Token 总是验证失败。日志中记录的对应错误是今天在 QQ 浏览器中将内核模式设置为“总是使用 IE 内核”重现了问题#xff0c;通过浏览器的开发者工具查看 cookie… 最近在发布了基于 ASP.NET Core 实现的新版登录页面之后陆陆续续地接到用户反馈登录时 Antiforgery Token 总是验证失败。日志中记录的对应错误是今天在 QQ 浏览器中将内核模式设置为“总是使用 IE 内核”重现了问题通过浏览器的开发者工具查看 cookie 情况打开登录页时 antiforgery cookie 已发送给了浏览器浏览器也正常接收到了 cookie 但 ajax post 提交时却没有带上 antiforgey cookie 很是奇怪我们并没有对 antiforgery cookie 进行特殊设置。services.AddAntiforgery(options { options.Cookie.Name .xxx.Antiforgery;});后来在园子里找到一篇博文 QQ 浏览器兼容模式下 Cookie 失效导致的 ASP.NET Core Cookie 认证失效 才知道是 Cookie.SameSite 惹的祸。查看 antiforgery cookie 的 samesite 值是 strict原来 asp.net core 默认用的是 SameSiteMode.Strict 改为 SameSiteMode.None 问题就解决了。services.AddAntiforgery(options { options.Cookie.Name .XXX.Antiforgery; options.Cookie.SameSite SameSiteMode.None;});原文地址https://www.cnblogs.com/dudu/p/10959557.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com