跨域本地存储库在通过IIS部署时停止工作

时间:2019-05-02 16:10:37

标签: angularjs iis local-storage cross-domain web-deployment

我有两个使用wildfly + IIS(www.sitea.ab.company.com)和只是wildfly(www.sitea.ab.company.com:8080)本地部署的不同AngularJS Web应用程序。

第一个总是首先执行,并将数据存储在localStorage内,而第二个总是稍后使用前面提到的localStorage中的数据打开。

我正在尝试通过this cross-domain-local-storage library从第二个Web应用程序访问第一个Web应用程序localStorage,并且在开发和使用localhost:9000和localhost:3010时,一切都按预期工作。

A,一旦两个Web应用程序都部署完毕,跨域本地存储机制就会停止工作。

尤其是:

  • 第二个Web应用程序脚本找到所需的第一个Web应用程序索引页
  • 第二个Web应用程序脚本要求存储在第一个Web应用程序localStorage中的特定数据(已定义并具有适当的值)
  • 但是第二个Web应用程序始终会为该密钥获取value: null

我同时在Chrome和IE11上遇到了此问题,到目前为止,我尝试通过IIS配置编辑器为sitea.ab.company.com添加X-Frame-Options ALLOW-FROM sitea.ab.company.com:8080来尝试SecurityError: Blocked a frame with origin from accessing a cross-origin frame-this solution,但是没什么变化(即使我用新的新缓存重新启动了IIS和浏览器)。

根据这些信息,您能帮我找出问题所在并解决吗?

1 个答案:

答案 0 :(得分:0)

事实证明,问题不在IIS配置之内,但Wildfly却同时干预了两个Web应用程序并缺少了x-frame-option。

最终我使用this solution

解决了