Java-апплет, предоставляющий AccessControlException - PullRequest
0 голосов
/ 25 декабря 2011

У меня есть Java-апплет, который я пытаюсь запустить в файле HTML с помощью тега HTML-апплета <applet>, но он выдает следующее исключение:

Caused by: java.security.AccessControlException: access denied 
    (java.io.FilePermission darkorange.png read)

Сайт Oracle объяснил, как предоставить доступ капплеты, использующие политику вроде:

appletviewer -J-Djava.security.policy=applet 

http://docs.oracle.com/javase/tutorial/security/tour1/examples/WriteFile.html

Но это только в DOS, как мне заставить мой браузер распознавать файл безопасности?

1 Ответ

0 голосов
/ 25 декабря 2011

Апплеты не могут читать / записывать файлы с локального компьютера и / или подключаться / считывать / записывать из / в домен, отличный от того, из которого он был загружен. Они ограничены средой, похожей на «песочницу», и им необходимо разрешение на доступ к системным ресурсам за пределами их ограниченной среды. Апплеты ограничены операциями чтения в своем локальном каталоге. Все остальные операции доступа требуют разрешения. Я бы предложил пересмотреть ваше требование о чтении файла с клиентского компьютера, поскольку это, очевидно, не является действительным требованием.

Кстати, если вам все равно нужно сделать это, то ваши апплеты должны быть подписаны , и соответствующие апплеты должны быть предоставлены вашему апплету в файле java.policy пользователя на клиентском компьютере. Обратитесь к документации Java для определения политики.

...