Предупреждение безопасности Java-апплета для приложения, использующего чтение диска - PullRequest
0 голосов
/ 24 сентября 2010

У меня есть Java-апплет, который загружается в браузер пользователя при посещении веб-страницы и позволяет возобновлять загрузку файлов на мой сервер. Очевидно, что для этого необходим апплет для доступа к жесткому диску пользователя, который, как я понимаю, находится за пределами обычной апплетной песочницы, в которую могут запускаться апплеты. Пользователь видит всплывающее окно с предупреждением безопасности, которое запрашивает разрешение на запуск этого апплета.

Я подписал апплет с помощью verisign, и ссылка, из которой извлекается апплет, осуществляется через SSL с сертификатом verigned. Ничто из этого не делает предупреждение уйти.

Есть ли способ убрать все предупреждения? Кто-нибудь может объяснить, что происходит за кулисами?

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

JNLP имеет FileOpenService, который позволяет ненадежным приложениям Java Webstart показывать пользователю диалог открытия файла и получать доступ к файлу, выбранному пользователем:

http://docs.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/FileOpenService.html

1 голос
/ 24 сентября 2010

Вы не можете избежать этого сообщения, это было бы проблемой безопасности, если бы вы могли.

Предоставление разрешения Applets

Если вы пытались запустить пример апплета, вы, несомненно, видели ошибки, когда нажимали кнопку Click Me. Это связано с тем, что безопасность платформы Java 2 не позволяет апплету выполнять запись и чтение из файлов без явного разрешения.

Апплет не имеет доступа к локальным системным ресурсам, если ему специально не предоставлен доступ. Таким образом, для программы FileUIAppl для чтения из text.txt и записи в text.txt необходимо предоставить апплет соответствующее разрешение на чтение или запись для каждого файла.

Разрешение на доступ предоставляется с файлом политики, а appletviewer запускается с файлом политики, который будет использоваться для просматриваемого апплета.

Что вы можете сделать, так это иметь конфигурацию (файл политики), позволяющую этому апплету использовать некоторые файлы. Но вам придется сделать это вручную (по очевидным причинам безопасности). Проверьте ссылку ниже.


Ресурсы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...