完美解决Iframe嵌入帆软报表出现跨域cookie写不进去的问题

随着google chrome对第三方cookie的限制越来越狠,现在发现之前使用iframe嵌入的帆软报表已经不好使了。官方现在解决iframe嵌入帆软报表出现跨域导致cookie写不进去的方案是主推 统一主域名的方案(谷歌浏览器单点登录失败- FineReport帮助文档 - 全面的报表使用教程和学习资料)。本文提供的方案是不统一主域名的时候如何解决这个问题。

思路就是既然chrome不让写第三方的cookie,那就不用写cookie来实现。经常使用帆软报表的都知道,我们如果把报表url上加一个 fine_auth_token参数,再后台用LoginService.getInstance().isLogged(req)判断,此时得出是已经登录了。那报表后续的请求如何加上这个fine_auth_token,通过观察,我们发现,如果给报表url上加上fine_auth_token,后续的请求中的Refer也会有这个fine_auth_token。如图:

我们可以这样想,如果帆软内部获取token,如果从cookie中获取不到,就从url上获取,如果url上也获取不到,那么就从请求Refer请求头中获取也可以拿到这个token了。

下面来看下LoginService.getInstance().isLogged(req)是如何来判断当前请求是否登录了。看源码:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/501970.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Calcite 一条 SQL 的查询计划生成之旅【下】

作者:沈磊(LakeShen),公众号:雷克分析 上一篇文章我们讲解了 Apache Calcite 架构设计及 SQL 优化器概述,这篇文章我们将接着介绍 Apache Calcite 组件的关键原理。 三、Calcite SQL 解析和元数据验证关键…

LLM+RAG: 关于知识问答优化的思考总结

本文分享实践中对LLMRAG实现知识问答系统的相关调研和思考。 LLM的知识库问答有3种实现路径:RAG 或 微调,或两者结合。而RAG和微调都各有利弊,比如说: - RAG: 低成本易部署,适用于知识会更新的场景&#…

C语言----动态内存管理(2)

1.这里总结动态内存管理里面的错误 (1)使用malloc开辟空间以后直接赋值 这个就是malloc开辟失败返回空指针,直接给空指针赋值就是错误的, tip1:使用malloc开辟空间以后一定要判断是否为空 (2) 越界访问…

Qt应用软件【测试篇】cppchecker静态代码检查

文章目录 cppcheker简介下载地址与安装检查项目QT Creator使用CPP Cheker开启检查常见错误总结错误信息说明cppcheker简介 Cppcheck 是一个用于 C/C++ 代码的分析工具。它提供独特的代码分析以检测错误,并专注于检测未定义的行为和危险的编码结构。其目标是仅检测代码中的真实…

itertools, 一个超好用的Python库

前言 Python用来处理迭代器的工具你想到了啥?itertools 就是一个特别有用的库,它提供了一系列用于创建和操作迭代器的工具,以下是10个常用的操作,可用在实际工作中,熟练掌握这些操作,将极大提升你在 Pytho…

带你快速初步了解Python列表

1.列表 列表主要是用来存储多个数据,是有序的集合 2.创建列表 """ 语法:变量名 [数据1,数据2,数据3......] 注意:列表中的数据类型可以是各种不同的数据类型 """ 创建空列表 list1 [] print(list1) …

【Ai生态开发】Spring AI上架,打造专属业务大模型,AI开发再也不是难事!

大家好 这里是苏泽 后端是工作 ai是兴趣 对于ai的产生我的立场是拥抱ai的 是希望拿他作为提升能力的工具 那么这一篇带大家来学习如何使用ai打造一个专属的业务大模型 需求 就是说假设现在有一个 商城系统 里面有查询订单的api和获取商品购买方式的api 用户只需要输入 “…

【Windows】打开ftp服务器上的文件夹时发生错误,请检查是否有权限

【Windows】打开ftp服务器上的文件夹时发生错误,请检查是否有权限 ftp协议有两种工作方式:port方式和pasv方式,中文意思为主动式和被动式。 port(主动)方式的连接过程是:客户端向服务器的ftp端口&#xf…

Unity 游戏设计模式:工厂模式

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 工厂模式是一种创建型设计模式,它提供了一种封装对象实例化过程的方式,使得客户端代码与具体类的实现解耦。 在 C# 的游戏设计中,模式有以下作用: 对象的创建…

3.1作业

作业要求&#xff1a; 通过w(红色臂角度增大)s&#xff08;红色臂角度减小&#xff09;d&#xff08;蓝色臂角度增大&#xff09;a&#xff08;蓝色臂角度减小&#xff09;按键控制机械臂 程序代码&#xff1a; #include<myhead.h> #define SER_IP "192.168.126.…

一文讲透:可视化大屏中3D元素的融入和使用方法

在可视化大屏中&#xff0c;3D元素融入的越来越多&#xff0c;贝格前端工场经常接到这类项目&#xff0c;很多老铁认为加个3D效果很easy&#xff0c;其实不然&#xff0c;工序非常复杂&#xff0c;总结如下。 一、什么是3D技术 三维展示&#xff08;3D展示&#xff09;是指使用…

Codeforces Round 930 (Div. 2)题解

A. Shuffle Party&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;给定一个n长数组&#xff0c;并使得a[i]i&#xff0c;现在定义一种操作swap(k):找出k的最大不等于自己的除数d&#xff0c;交换a[k]和a[d]&#xff0c;k从1开始直到n结束&#xff0c;问…