У меня есть JApplet, которому я хочу дать разрешение на чтение, запись, печать и т.д. Этот апплет загружается только из локальной файловой системы
Я прочитал часть управляющих апплетов в учебниках по Java и успешно создал файл политики, предоставив разрешения и указав базу кода http://docs.oracle.com/javase/tutorial/security/tour1./index.html
Чтобы пример апплета успешно записывал в локальную систему, мне пришлось добавить эту строку в файл java.security. policy.url.3 = файл:/home/susanj/test/examplepolicy
Вопрос в том, как добиться того же результата с помощью кода?
Я предполагаю, что вы начинаете с класса Policy http://docs.oracle.com/javase/6/docs/api/java/security/Policy.html#getInstance%28java.lang.String,%20java.security.Policy.Parameters%29
создайте новую политику с помощью одного из методов getInstance
Policy.getInstance(тип String, параметры Policy.Parameters)
Политика. getInstance (тип String, параметры Policy.Parameters, провайдер)
Политика. getInstance(тип String, параметры Policy.Parameters, провайдер String)
и добавьте его с помощью метода Policy.setPolicy(Policy p), а затем используйте Policy.refresh();
К сожалению, кажется, что метод getInstance разваливается, и все становится довольно запутанным, мне нужно знать, какой тип, параметры политики мне нужно использовать в качестве аргументов, чтобы дать полное разрешение моему апплету.
Этот апплет не загружается из Интернета, он является частью настольного приложения, поэтому я могу запустить файл класса/jar с полными привилегиями до загрузки апплета. Я предполагаю, что вы сможете установить файл политики таким образом до загрузки апплета?
Я предполагаю, что это действительно правильный путь.
С уважением
Бретт