PDA

Показать полную графическую версию : Запуск java-апплета под Апач


toro
03-04-2010, 23:39
Помогите разобраться с запуском апплета. С java не знаком, а тут срочно надо выполнить "задание". Прислали готовую java программу (NewPuzz.java) - если запускаю её через appletviewer, то всё нормально. Теперь нужно запустить её как апплет в IE. Установил jdk и jre 6_18. Установил апач (денвер сборка). Работает. Прописываю в index.html - <applet code = "NewPuzz.class" width = "200" height = "100"> </applet> Кладу NewPuzz.class в директорию с index.html Запускаю сайт, апплет не запускается - получаю ошибку :

java.security.AccessControlException: access denied (java.util.PropertyPermission java.io.tmpdir read)
.....
.....
.....
Exception: java.security.AccessControlException: access denied (java.util.PropertyPermission java.io.tmpdir read)

Куда у меня закрыт доступ? Что надо исправить?

В NewPuzz.java есть метод:
public void init() {....
.....
.....
tmp_folder = System.getProperty("java.io.tmpdir");
dll_folder = System.getProperty("java.io.tmpdir");
.....}

Sham
04-04-2010, 13:12
аплет локально выполняется (апач не причем). имхо доступ к файловой системе зависит от настроек браузера.

toro
04-04-2010, 15:24
А куда именно нет доступа ? К какой папке ?

Sham
05-04-2010, 03:33
У браузера своя политика безопасности, которая должна недопускать опасное взаимодействие с файловой системой. В IE есть настройки уровней безопасности, доверенные узлы и т.д., но имхо никакая настройка не поможет. Иначе - это уязвимость, через которую можно загрузить зловред.

toro
06-04-2010, 00:46
Погуглил. Блин.... В общем насколько я понял апплет должен быть подписан. Что-то типа электронной подписи. И эта подпись должна быть помещена в "хранилище" на АРМ пользователя. В политике без-ти мы должны указать что этой подписи надо доверять. Это делается через файл java.policy

И ещё:
Небольшое дополнение насчет файла java.policy. Этот файл нужен, чтобы пользователю не выводилось предупреждений.
Т.е. если он есть, и в нем прописан данный производитель ПО, то пользователю не будет выдаваться запросов и предупреждений, апплет сразу получит права прописанные в policy файле.
Если же файл отсутствует или такого производителя ПО там нет, то пользователю будет выдан запрос, доверять ли данному производителю ПО или нет. Если пользователь ответи да, то апплет получит все разрешения

В общем если здесь найдётся продвинутый поклонник java, то может разжуёт поподробнее что к чему.




© OSzone.net 2001-2012