1

.net アプリケーションが SAP ポータルからホストされているシナリオがあります。

  • SAP ポータル ドメイン: portalURL.al.xx.company.com
  • アプリ サーバー ドメイン: AppURL.ss.xx.company.com

お気づきのとおり、ポータル ドメインとアプリ サーバー ドメインは同じ1 レベル上ではありません(つまり、1 レベル上では、ポータル ドメインは al.xx.company.com になり、アプリ サーバーは ss.xx.company.com になります)。

ただし、2 レベル上では、ポータル ドメインとアプリ サーバー ドメインの両方が同じです。(つまり、xx.company.com)。

私の JavaScript コードでは、document.domain オブジェクトをxx.company.comに設定しました。ただし、まだ「許可が拒否されました」というエラーが表示されます。

portal と appserver のプロトコルは同じです。

同一オリジン法の下でのクロスドメイン スクリプティングは、ドメインが 1 レベル上で同じである場合にのみ機能しますか? 私にお知らせください。

4

2 に答える 2

1

はい、Same-Origin ポリシーはこれを拒否します。2 つのフレームは、まったく同じドメイン上にある必要があり、さらには同じポート上にある必要があります。

ただし、それを回避するdocument.domain 必要があります。うまくいかない場合は、両方のフレームdocument.domainで を設定する必要があることを覚えておいてください(そして、そこに到達するために他のフレームの階層を上っていく場合 (たとえば)、それらの他のフレームに対して設定する必要があります)。同様に()。xx.company.comtop.frame2top

ただし、すべてのコードにアクセスできる場合は、 JSON-Pでこれを回避できる可能性があります。

于 2010-07-08T11:16:33.603 に答える
0

同一生成元ポリシーを見て、 jsonpを検討してみてください。

于 2010-07-08T11:17:44.690 に答える