解决Iframe嵌入帆软BI系统后,Chrome升级后跨域出现登录界面,Cookie写入不成功。

楼主
插件开发者

1 先看效果:

 

cookie写入不成功,是因为google chrome的高版本为了防止CSRF 攻击,默认将Cookie的SameSite设置为lax了,导致cookie跨域的时候就写不成功了。如果我们在嵌入页面的url上加上fine_auth_token参数值会怎样呢?看下图:

 

从上面看出当请求我们的BI页面时,Set-Cookie那里有个黄色的感叹号,表示cookie写入失败了,那一行小字说的是 SameSite=Lax了,所以跨域就写不了Cookie了。

 

为了解决这个问题,网上有一些解决方案,经过本人实际测试,开发了一个插件解决了这个问题,最终效果如下图:

 

当访问页面的时候,可以看到有两个Set-cookie了,一个有感叹号,一个没有,有感叹号的是BI系统内部写的cookie,是不成功的,没有感叹号是我写的,可以看到写入成功了。

经过本人实测,发现如果BI系统安装在Windows系统上,直接安装插件即可解决,如果是在linux系统中,需要将要访问的URL转成HTTPS才能成功。BI系统是在5.1.16版本,Chrome版本 94.0.4606.61 上测试的。

编辑于 2021-9-30 16:40
分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 7077浏览人数
最后回复于:2021-9-30 16:40

返回顶部 返回列表