0

したがって、Web サイトからアプレットをロードしようとすると、

AccessControlException
access denied ("java.io.FilePermission" "cursor.gif" "read")

これは、私のアプレット内のコードに対応しています。

//Modify the cursor when inside the Applet
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image cursorIcon = toolkit.getImage("cursor.gif");
Point center = new Point(16, 16);
Cursor cursor = toolkit.createCustomCursor(cursorIcon, center, "Cursor");
setCursor(cursor);

私はググって、次のようなことを試しました

  • 署名する.jar
  • ポリシーのものを作成しますが、それを作成する方法とそれを使用して何をするかを完全には理解していませんでした (ポリシーのことを行う方法を詳しく説明してもらえますか?)

Eclipse で実行すると、アプレットは完全に正常に動作します。さらに、上記のコードをコメント アウトすると、アプレットが動作するため、その部分だけでエラーが発生します。

4

1 に答える 1

0

次のような特権コード内にコードをラップする必要があります。

final String location = locationVal;

File f = (File) AccessController.doPrivileged(new PrivilegedAction()
{
    public Object run()
    {
        System.out.println("Getting File : " + location);
        File outputFile1 = new File(location);
        return outputFile1;
    }
});

このコードは次の場所からコピーされます:リソースにアクセスするためにクライアントのアクセス許可が必要なアプレットのポリシー ファイルの場所はどこですか?

また、便利なリンク:

http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html Java ポリシーの実装について。

http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/policytool.html#GUIポリシー ファイル エディタを使用した使用方法

于 2012-12-27T06:13:07.930 に答える