• ベストアンサー

java.security.AccessControlException

JavaアプレットでHTTP接続して、データを受信するプログラムを書こうとしているのですが、以下のエラーの意味がわからず困っています。 java.security.AccessControlException: access denied(java.net.SocketPermission xxxx.com:80 connect,resolve) URLを指定して、アプレット上に受信データを表示させたいのですが、 無理なのでしょうか?

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • gsx_rider
  • ベストアンサー率40% (53/130)
回答No.1

JDKのバージョン等不明ですが C:\jdk?.?\jre\lib\security\java.policy の // Standard extensions get all permissions by default grant codeBase "file:${java.home}/lib/ext/*" { permission java.security.AllPermission; }; を // Standard extensions get all permissions by default grant{ permission java.security.AllPermission; }; に書き換える

その他の回答 (1)

回答No.2

javaアプレットはサンドボックス内で動作しています。 javaアプレットをダウンロードしたサーバとしか通信できないはずなのですが、そこら辺は大丈夫でしょうか?

関連するQ&A

  • java.security.AccessControlException

    RMIのテストプログラムを実行してみたいのですが、タイトルのエラーが出てうまくいきません。プログラム自体は簡単なHelloWorldもので、タイプミスなどはないと思うのですが… 回避策を教えてください。 エラーはこんなのです。 java.security.AccessControlException: access denied(java.net.SocketPermission 192.168.1.3:1099 connect,resolv)

    • ベストアンサー
    • Java
  • AppletからMySQLへの接続について

    始めまして私は今、JavaAppletからMySQLへ接続し、データを呼び出してAppletの画面に表示するプログラムを作成しましたが、どうしてもMySQLに接続することが出来ません。ためしに、JavaからMySQLへ接続するプログラムを作成し動かしたところ問題はなかったので、JavaAppletの場合にはMySQLに接続するのにJavaと違ってなにか特別な設定やプログラムの記述が必要なのでしょうか?どなたか知っている方がおられましたら、ご教授お願いいたします。 また、今まで試したのは、自分のPCにもMySQLをインストールし接続したところ接続することができたので、以下のような状況になります。 JavaApplet(自分のPC) + MySQL(自分のPC) = 接続成功 JavaApplet(自分のPC) + MySQL(他のPC) = 接続不可 環境は、Webサーバ:Apache2.0.54、Java : j2sdk1.4.2_09、MySQL : MySQL 4.0.16、JDBC : mysql-connector-java-3.1.11-bin.jar です。 また、接続できなかった時にでたエラーは以下のとおりです。 ------------------------------------------------- ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: java.security.AccessControlException: access denied (java.net.SocketPermission 150.xxx.xxx.xxx:3306 connect,resolve) STACKTRACE: java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 150.xxx.xxx.xxx:3306 connect,resolve) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) (以下省略) ------------------------------------------------- 上記の情報だけでは、わかりにくいかもしれませんが、 どうかよろしくお願いいたします。 以上

    • ベストアンサー
    • Java
  • アプレットでのDB接続の行い方

    JAVAアプレットでAccessのDBに接続して値を取得し、その値をブラウザ上に表示するプログラムを作っています。ソースコードをコンパイルしブラウザ(IE6.0)に表示させようとすると、 Exception:java.security.AccessControlException: access denied(java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) という文がブラウザ上に表示され、値が表示されません。なにかJAVAのセキリティにひっかかっていると思われるのですが、どんな方法ならDBから値を取って表示させられるのでしょうか。

    • ベストアンサー
    • Java
  • Javaアプレットからウェブサーバ上のEXEを実行できる?

    JavaアプレットからRuntime.exec()を使って同ディレクトリ内のEXEを呼び出し、 EXEが出力したファイルをアプレットで読み込む、 というのをウェブサーバ上で(というかウェブブラウザから)やりたいのですが、 それはできるのでしょうか。 試しにブラウザから実行してみたところ、コンソールに以下のエラーが出力され失敗しました。 Exception in thread "AWT-EventQueue-4" java.security.AccessControlException: access denied (java.io.FilePermission <<ALL FILES>> execute)     at java.security.AccessControlContext.checkPermission(Unknown Source)     at java.security.AccessController.checkPermission(Unknown Source)     at java.lang.SecurityManager.checkPermission(Unknown Source)     at java.lang.SecurityManager.checkExec(Unknown Source)     at java.lang.ProcessBuilder.start(Unknown Source)     at java.lang.Runtime.exec(Unknown Source)     at java.lang.Runtime.exec(Unknown Source)     at java.lang.Runtime.exec(Unknown Source)     以下略 サーバ環境は以下です。 Windows 7 64bit pro XAMPP for windows ver 1.7.2 Apacheの設定次第でできるのでしょうか。

    • ベストアンサー
    • Java
  • アプレットとテキストファイル

    Java初心者です. appletでゲームのようなものを作ろうと思い, テキストファイル(*.txt)から文章を読み込んで 表示するようなプログラムを書きました. eclipseのアプレットビューアではちゃんと表示されるのですが, 自分でhtmlを書いてブラウザで表示させようとすると, このテキストファイルが読み込まれないのか,以下のようなエラーが ブラウザの下に出ました. java.security.AccessControlException: access denied(java.io.FilePermission ./res/aaa.txt read). これはどういうことなんでしょうか. eclipseのアプレットビューアを使ったら, プロジェクトフォルダに"java.policy.applet"というものができていたので, これをうまく使えたらいいのかとも思うんですが, どうもよくわかりません. ご回答お待ちしています. ちなみにOSはmac OSXで, フォルダの構成は, プロジェクトフォルダ  ー/src/*.java,*.class  ー/res/aaa.txt です.

  • Soc

    秀和システム出版の「Javaネットワークプログラミング」 に載っているクライアント・サーバ型のチャットプログラムがあります。クライアント側のプログラムはアプレットを使用してあります。 1台PCで、サーバプログラムを起動して、クライアント側のアプレットを起動すると、うまく動作してくれて、チャットで文字のやり取りができます。 しかし、2台のPCで、1台はサーバプログラムを起動して接続待ちの状態にしておく。もう一台のPCでクライアント側のアプレットを起動して、接続を試みるとエラーが出てサーバに接続できないという問題が生じます。 エラーを見てみると、セキュリティーの問題で、接続できない、というような内容のエラーがでます。 接続にはSocketを使用しています。 アプレットから、他のサーバに接続したりすることは、許されていないんでしょうか? このあたりを検索したら、ポリシーファイルを書き換えないといけないようなものを見つけました。 手書きで書きかえるような説明は見つけたのですが、 プログラムから書きかえるというか、接続の権限を与える方法はないのでしょうか? ヤフーのチャットなども、確かアプレットで動いてるとおもうのですが(ActiveXかな?)、サーバと接続できてますよね。 java.netクラスにSocketPermissionクラスがあるのですが、これを使って接続することはできないのでしょうか? SocketPermission sp; sp = new SocketPermission("197.170.11.3" + ":" + "5555","accept,connect") とするとリファレンスには書いてあるんですが、 この後、spをどのようにすればいいのかわかりません。 というかこの方法でできるのかもわかりません。 ご存知の方いらっしゃいましたら、アドバイスをいただけないでしょうか?

    • ベストアンサー
    • Java
  • Firefoxでお絵描き掲示板に投稿できない

    WindowsXPでFirefoxを使用しています。 先日導入したばかりです。 その後快適に使用していたのですが、お絵描き掲示板に投稿しようとしたところ、 -------------------------- access denied(java.net.SocketPermission 124.39.4.180:80 connect,resolve) 失敗。時間を置いて再度投稿してみて下さい。 -------------------------- というエラーが出て投稿できませんでした。 他のサーバーのお絵描き掲示板でも試してみましたが、 IPアドレス部分が違うだけの同じエラーメッセージが出て、投稿できません。 IEで試してみたところ、こちらでは正常に投稿することができました。 追加したFirefoxのアドオンをすべて無効にしてみたり、 Javaを一度削除して再度インストールしてみたりしましたが、 状況は変わりませんでした。 Javaは、「Windows - Firefox/Mozilla 版 Java Version 6 Update 3」、 セキュリティソフトはヤフーの「Norton Internet Security Online」です。 何か思い当たることがあればぜひアドバイスよろしくお願いします。

  • 「javaプログラムについて」

    javaプログラムでURLをスレッドを作って、たくさん読み込むと、 「address already in use: connect java」というエラーがでます。なぜでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • アプレットをhtmlに乗せると動かなくなります…

    こんにちは。わざわざ見て下さっている方ありがとうございます! 作ったアプレットがアプレットビューアの上でなら動くのに、htmlに乗せると「読み込みに失敗しました」になってしまいます。 私は本当に初心者でして、何をお伝えすればいいのか分からないのですが、htmlのアプレットを右クリックした時に出てくる[Javaコンソール]というものが限りなく怪しいかなと思いましたので、下にペーストしておきました。関係なかったらすみません。 Class: class ThreeDMaze ClassLoader: sun.plugin.security.PluginClassLoader@10dd1f7 java.security.AccessControlException: access denied (java.io.FilePermission .\mapFile read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkRead(Unknown Source) at java.io.File.list(Unknown Source) at ThreeDMaze.init(ThreeDMaze.java:70) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうか宜しくお願いします!

    • ベストアンサー
    • Java
  • CGIにPOSTでアクセス

    import java.net.*; import java.io.*; import java.awt.*; public class ccc28 extends java.applet.Applet { TextField tf; Button btn; TextArea ta; public void init() { setLayout(new BorderLayout()); tf = new TextField(20); btn = new Button("Submit"); ta = new TextArea(5, 25); add("West", tf); add("East", btn); add("South", ta); } public boolean action (Event e, Object o) { if (e.target == btn) { try { URL url = new URL("http://www.odn.ne.jp/aaa/test.cgi"); URLConnection uc = url.openConnection(); uc.setDoInput(true); uc.setDoOutput(true); uc.setUseCaches(false); PrintWriter pw = new PrintWriter(uc.getOutputStream()); pw.print("a"); pw.close(); } catch(java.security.AccessControlException er) { ta.setText(er.getMessage()); } tf.setText("処理完了"); return true; } return false; } } アプレットビューアからの実行では、 tf.setText("処理完了"); は実行されました。 catchのta.setText(er.getMessage());も実行されて、 access denied (java.net.SocketPermission www.odn.ne.jp resolve) と書かれていました。 実際にアップロードしてからの実験ではボタンを押しても、テキストエリアにもテキストフィールドにも何も表示されませんでした。 どっちの実験でも、CGIへのアクセスができませんでした。 CGIはカウンターです。アクセスさえできればいいんだけど、 http://www.tetras.co.jp/yada/j_java_cgi_r.htm のサイトに書いてあった getAppletContext().showDocument(url); を使うと、ページがCGIに飛んでしまったから、POSTでアクセスしたいと思っています。 このソースをどう直せばいいんですか?

専門家に質問してみよう