溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Flex跨域訪問(wèn)沙箱問(wèn)題的解決方案是什么

發(fā)布時(shí)間:2021-12-07 16:37:17 來(lái)源:億速云 閱讀:112 作者:柒染 欄目:編程語(yǔ)言

Flex跨域訪問(wèn)沙箱問(wèn)題的解決方案是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

當(dāng)Flex訪問(wèn)WebService服務(wù)時(shí),在本地能夠正常訪問(wèn),當(dāng)部署到web容器中發(fā)布為web服務(wù)后,再調(diào)用WebServicIE,此時(shí)就會(huì)被拒絕訪問(wèn),這就是Flex跨域訪問(wèn)的沙箱問(wèn)題,下面介紹一下解決方案。

Flex跨域訪問(wèn)的沙箱問(wèn)題

當(dāng)Flex訪問(wèn)WebService服務(wù)時(shí),在本地能夠正常訪問(wèn),當(dāng)部署到web容器中發(fā)布為web服務(wù)后,再調(diào)用WebServicIE,此時(shí)就會(huì)被拒絕訪問(wèn),這就是Flex跨域訪問(wèn)的沙箱問(wèn)題,為了解決Flex跨域訪問(wèn)WebService的問(wèn)題,可采用如下方案:

首先,F(xiàn)lex跨域訪問(wèn)被拒絕是因?yàn)樘峁┓?wù)方?jīng)]有配置安全策略文件,即crossdomain.xml,如果你不想用crossdomain.xml就要用到代理,即自己寫一個(gè)后臺(tái)讀取webservice,然后提供給自己的flex應(yīng)用,因?yàn)樵趂lashplayer中,要Flex跨域必須要有策略文件??紤]到flashplayer升級(jí)到9.124之后,加強(qiáng)了安全性,之前的crossdomain.xml的寫法發(fā)生了變化,以下就是該文件的完整寫法:

<?xmlversionxmlversion="1.0"?> <!DOCTYPEcross-domain-policySYSTEM"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-fromdomainallow-access-fromdomain="*"/> <allow-http-request-headers-fromdomainallow-http-request-headers-fromdomain="*"headers="*"/> </cross-domain-policy>

表示該服務(wù)允許任何外域來(lái)訪問(wèn)。

關(guān)于crossdomain.xml的放置目錄問(wèn)題,有如下解決方案,可放置在:

1)如果這個(gè)目錄是容器的根目錄,可以通過(guò)以下的url訪問(wèn)crossdomain.xml:

http://localhost:8080/crossdomain.xml。

2)如果crossdomain.xml不是放在根目錄下,而是在某個(gè)webapp下面,在flex中就需要在初始化的時(shí)候應(yīng)用

Security.loadPolicyFile("http://localhost:8080/xx/crossdomain.xml");

其中xx為webapp的名稱

這樣,外部Flex跨域訪問(wèn)該服務(wù)發(fā)布的WebService時(shí),flashplayer首先找的就是crossdomain.xml文件,若安全機(jī)制設(shè)置為允許訪問(wèn),則訪問(wèn)成功。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI