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.policy
java.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