Класс FXPermission
java.lang.Object
java.security.Permission
java.security.BasicPermission
javafx.util.FXPermission
- Все реализуемые интерфейсы:
-
Serializable,Guard
public final class FXPermission extends BasicPermission
Этот класс предназначен для разрешений JavaFX. Разрешение
FXPermission содержит целевое имя, но не список действий; у вас есть разрешение с указанным именем или нет. Целевое имя — это имя разрешения JavaFX (см. ниже). Имена следуют соглашению об именовании иерархических свойств. Также можно использовать звездочку для обозначения всех разрешений JavaFX.
В следующей таблице перечислены все возможные FXPermission целевые имена, и для каждого из них приводится описание того, что разрешение позволяет, и обсуждаются риски предоставления коду этого разрешения.
| Целевое имя разрешения | Что разрешает это разрешение | Риски предоставления этого разрешения |
|---|---|---|
| accessClipboard | Публикация и получение информации в системный буфер обмена и из него | Это позволит злонамеренному приложению обмениваться или считывать потенциально конфиденциальную информацию. |
| accessWindowList | Доступ к списку всех окон JavaFX | Предоставление доступа к полному списку всех окон JavaFX может позволить злонамеренному приложению изменить диалоговое окно безопасности. |
| createRobot | Создание объектов JavaFX Robot | Объект JavaFX Robot позволяет коду генерировать события мыши и клавиатуры на уровне ядра, а также считывать экран. Это может позволить вредоносному коду контролировать систему, запускать другие программы, считывать содержимое дисплея и запрещать доступ к мыши и клавиатуре пользователю. |
| createTransparentWindow | Создание прозрачных окон | Прозрачные окна не ограничиваются прямоугольной областью, которая затемняет то, что находится под окном. Это может затруднить различение частей окна от других окон приложений или рабочего стола платформы и может использоваться для обмана пользователя, чтобы он ввел конфиденциальные данные, особенно в сочетании с setWindowAlwaysOnTop или unrestrictedFullScreen. |
| loadFont | Загрузка пользовательского шрифта, либо через метод Font.loadFont(java.lang.String, double), либо из файла jar, содержащего встроенные шрифты, перечисленные в манифесте jar | Загрузка пользовательского шрифта может позволить злонамеренному приложению предоставить некорректный шрифт. Такой шрифт может привести к сбою приложения, позволяя злонамеренному приложению получить контроль над системой, если есть ошибки в реализации шрифтов на базовой платформе. |
| modifyFXMLClassLoader | Установка ClassLoader, используемого для загрузки объектов FXML, и удаление ограничения на загрузку системных классов | Разрешение приложению устанавливать произвольный ClassLoader может позволить злонамеренному приложению загрузить классы с повышенными разрешениями. Также удаление ограничения на загрузку системных классов с помощью null ClassLoader может позволить приложению получить доступ к классам, к которым в противном случае оно не имело бы доступа. |
| setWindowAlwaysOnTop | Установить свойство окна "всегда сверху": Stage.setAlwaysOnTop(boolean)
| Злонамеренное окно может замаскироваться под рабочий стол платформы, чтобы информация, введенная неосторожным пользователем, была захвачена и использована ненадлежащим образом, особенно в сочетании с createTransparentWindow разрешением. |
| unrestrictedFullScreen | Разрешить неограниченный доступ к полноэкранному режиму, включая события клавиатуры и баннер с предупреждениями | Это разрешение позволяет приложению перейти в полноэкранный режим в любое время, переопределить баннер с предупреждениями и отключить функцию клавиши ESC для выхода из полноэкранного режима. Все ввод с клавиатуры будет перенаправлен приложению во время полноэкранного режима, вместо ограничения на события KEY_PRESSED и KEY_RELEASED для подмножества клавиш. См. Stage.setFullScreen(boolean). Это может позволить вредоносному окну имитировать поведение рабочего стола платформы, что позволит захватить информацию, введенную неосторожным пользователем, и злоупотребить ею, особенно в сочетании с createTransparentWindow разрешением. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FXPermission |
Создает новое FXPermission с указанным именем. |
Краткое описание методов
Методы, объявленные в классе java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Методы, объявленные в классе java.security.Permission
checkGuard, getName, toString
Подробное описание конструкторов
FXPermission
public FXPermission(String name)
Создает новое
FXPermission с указанным именем. Имя — это символьное имя FXPermission, например, "accessClipboard", "createTransparentWindow" и т.д. Звездочка может использоваться для обозначения всех разрешений JavaFX.- Параметры:
-
name- имя FXPermission - Исключения:
-
NullPointerException- еслиnameявляетсяnull. -
IllegalArgumentException- еслиnameпустое.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.