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

当我们使用Iframe嵌入fine BI的页面时,由于google chrome的高版本为了防止CSRF 攻击,默认将Cookie的SameSite设置为lax了,导致 cookie跨域的时候就写不成功了,所以导致嵌入的iframe出现登录界面。这是咋们可以自己手动来写这个cookie,并且将SameSite的值设置为none。

我们只需要在嵌入的url上加上fine_auth_token,通过拦截器获取到fine_auth_token,然后强行写入,我们写一个帆软插件,实现一个EmbedRequestFilterProvider扩展:

 @Override
    public void filter(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException {
     //   LogUtils.info("我开始filter---------------------------------------------------------");

        String fine_auth_token = httpServletRequest.getParameter("fine_auth_token");
        //httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
        if(fine_auth_token != null && fine_auth_token != ""){
            LOGGER.debug("ChromeFilter  fine_auth_token:"+fine_auth_token);
    
上一篇:聊聊vue2和vue3


下一篇:安装RabbitMQ时出现Plugin configuration unchanged,RabbitMQ服务启动几秒后自动关闭, http://127.0.0.1:15672/页面无法访问一并解答