2011年6月15日水曜日

javaのビルド 1.6.0_10以降のcrossdomain問題

JAVAのバージョンを1.6.0_7から1.6.0_10にアップデートしたら、java appletに怒られた。

java.security.AccessControlException: access denied (java.net.SocketPermission 123.124.125.126:80 connect,resolve)

いろいろ調べた結果、DNSの逆引き設定で解決できそうです。
とりあえずhostsファイルで試してみました、下記を追加してうまく行った:

123.124.125.126 www.youtsite.com.auth.126.125.124.123.in-addr.arpa


DNSの設定が難しい場合、crossdomain.xmlを追加する手もあります
ファイルの中身はこれ

<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

このファイルの置場所は基本DocumentRootで良いが、applet側で指定することも一応できるらしい

<applet id="app"
code="TestAppletCD.class"
codebase="./applet/classes"
width=200 height=200>
<PARAM name="java_arguments" value="-Djnlp.altCrossDomainXMLFiles=http://xxx.xxx.xxx.xxx/applet/crossdomain.xml">
</applet>

0 件のコメント:

コメントを投稿