|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Как Вы видели в предыдущем шаге, Среда выполнения Java автоматически не устанавливает Менеджера безопасности, когда это запускает приложение. Чтобы применить ту же самую политику безопасности к приложению, найденному на локальной файловой системе относительно загруженных апплетов без знака, можно вызвать интерпретатор с новым -Djava.security.manager параметр командной строки.
Выполниться GetProps приложение с менеджером безопасности значения по умолчанию, введите следующее:
java -Djava.security.manager GetProps
Вот вывод из программы:
C:\TEST>java -Djava.security.manager GetProps
About to get os.name property value
The name of your operating system is:
WindowsXP
About to get java.version property value
The version of the JVM you are running is:
JDK 1.6.0
About to get user.home property value
Caught exception
java.security.AccessControlException:
access denied (java.util.PropertyPermission
user.home read)
Процесс показывают в следующем числе.

Среда выполнения Java загружает файл политики значения по умолчанию по умолчанию и предоставляет, что все разрешение кода получает доступ к некоторым обычно полезным свойствам такой как "os.name" и "java.version". Эти свойства не чувствительны к безопасности, настолько допускающие, что эти полномочия обычно не излагают угрозу безопасности.
Другие свойства GetProps попытки получить доступ, "user.home" и "java.home", не среди свойств, для которых системный файл политики предоставляет разрешение чтения. Таким образом, как только GetProps попытки получить доступ к первому из этих свойств ("user.home"), менеджер безопасности предотвращает доступ и сообщает AccessControlException. Это исключение указывает, что политика в настоящий момент в действительности, которая состоит из записей в одном или более файлах политики, не позволяет разрешению читать "user.home" свойство.
Файл политики значения по умолчанию, java.policy (по умолчанию) располагается в:
java.home\lib\security\java.policyjava.home/lib/security/java.policyОтметьте, что java.home представляет значение "java.home" свойство, которое является системным свойством, определяющим каталог, в который был установлен JRE. Таким образом, если JRE был установлен в названном каталоге C:\jdk\jre на Windows и /jdk/jre на UNIX системный файл политики располагается в
C:\jdk\jre\lib\security\java.policy/jdk/jre/lib/security/java.policy