Qlikview身份验证请求被阻止,因为它是跨域请求

时间:2019-02-15 12:20:21

标签: asp.net vb.net

我已经使用VB在Asp.net中开发了一个网站。要求之一是显示qlikview

它位于一种报告中心下,在页面的侧面有一个列表供用户选择报告,页面的其余部分为iframe。当用户选择报告时,将触发javascript函数,该函数将其中一个报告的地址设置为iframe。这些报告都在各自的页面上,因此我基本上是从同一域调用该页面并将其显示在iframe中,这里没有问题。问题出在我必须显示托管在另一台服务器上的Qlikview时。

这会在检查器中引发错误,但仍然可以正常显示,并且可以在Chrome,Edge,Explorer和Firefox上正常运行。 Safari附带该问题,因为它是跨域请求,所以它阻止了身份验证请求。

I've tried the answer from this question.我尝试更改列出的域名here. 我尝试过允许列出的here,跨源访问,但没有帮助。

对此我还是很陌生,因此如果这是一个简单的解决方案,我深表歉意。

2 个答案:

答案 0 :(得分:0)

在这里看看-也许这可以帮助您 Using cors with all modern browsers

答案 1 :(得分:0)

如果在Chrome和Firefox上运行正常,则在服务器上设置为正常。 Qlikview正式支持IE和Chrome。 Safari的标头存在一些问题。

如果您在S3上托管附加组件(Qlikview在iframe中是什么)(例如对于Safari),则需要允许源标头,可能在类似的不同托管上:

 <AllowedHeader>origin</AllowedHeader>

解决方法也是在Qlikview服务器上它可以使用IIS显示Qlikview访问点。如果需要,您可以转到Qlikview服务器上的IIS设置,然后设置文件夹,以在其中部署加载项页面,从而可以将其配置为从同一域(您的加载项和qlikview访问点)提供服务)。还有使用Qlikview Web Server不带IIS的Qlikview服务器配置,这将不允许部署其他站点。