Класс MBeanPermission
- Все реализованные интерфейсы:
Serializable, Guard
@Deprecated(since="25", forRemoval=true) public class MBeanPermission extends Permission
Разрешение, контролирующее доступ к операциям MBeanServer. Если диспетчер безопасности установлен с помощью System.setSecurityManager(SecurityManager), для большинства операций с сервером MBean требуется, чтобы разрешения вызывающего кода включали MBeanPermission, соответствующий выполняемой операции. Подробное описание приведено в документации интерфейса MBeanServer.
Как и другие объекты Permission, MBeanPermission может представлять либо разрешение, которым вы обладаете, либо разрешение, которое вам необходимо. При проверке разрешения на выполнение чувствительной операции создаётся MBeanPermission, представляющий необходимое разрешение. Операция разрешена, только если имеющиеся у вас разрешения включают необходимое разрешение.
MBeanPermission содержит четыре элемента информации:
-
Действие. Для необходимого разрешения это одно из действий в приведённом ниже списке. Для имеющегося у вас разрешения это разделённый запятыми список этих действий или
*, обозначающий все действия.Действие возвращается методом
getActions(). -
Имя класса.
Для необходимого разрешения это имя класса доступного вам MBean, возвращаемое методом
MBeanServer.getMBeanInfo(name).getClassName(). Некоторые операции не ссылаются на имя класса; в этом случае имя класса равно null.Для имеющегося у вас разрешения это либо пустая строка, либо шаблон имени класса. Шаблон имени класса — это строка, соответствующая соглашениям Java для имён классов, разделённых точками. Она может оканчиваться символом "
.*", означающим, что разрешение предоставляет доступ к любому классу, имя которого начинается со строки перед ".*". Например, "javax.management.*" предоставляет доступ, помимо прочего, кjavax.management.MBeanServerDelegateиjavax.management.timer.Timer.Шаблон имени класса также может быть пустой строкой или состоять из единственного символа "
*"; оба варианта предоставляют доступ к любому классу. -
Элемент.
Для необходимого разрешения это имя атрибута или операции, к которым осуществляется доступ. Для операций, не ссылающихся на атрибут или операцию, элемент равен null.
Для имеющегося у вас разрешения это либо имя доступного вам атрибута или операции, либо пустая строка, либо единственный символ "
*"; оба последних варианта предоставляют доступ к любому элементу. -
Имя объекта.
Для необходимого разрешения это
ObjectNameMBean, к которому осуществляется доступ. Для операций, не ссылающихся на один MBean, оно равно null. Это никогда не шаблон имени объекта.Для имеющегося у вас разрешения это
ObjectNameMBean или MBean-ов, к которым у вас есть доступ. Это может быть шаблон имени объекта, предоставляющий доступ ко всем MBean, имена которых ему соответствуют. Оно также может быть пустым, что предоставляет доступ ко всем MBean независимо от их имён.
Имеющийся у вас MBeanPermission разрешает операции, только если совпадают все четыре элемента.
Имя класса, элемент и имя объекта можно записать вместе в виде одной строки, которая является именем этого разрешения. Имя разрешения — это строка, возвращаемая методом getName(). Формат строки:
className#member[objectName] Имя объекта записывается с использованием обычного синтаксиса для ObjectName. Оно может содержать любые допустимые символы, включая ]. Оно завершается символом ], который является последним символом строки.
Можно опустить один или несколько элементов из className, member или objectName. Если опущен member, то можно также опустить и # (но это необязательно). Если опущен objectName, то можно также опустить и [] (но это необязательно). Опускать все три элемента нельзя, то есть имя не может быть пустой строкой.
Один или несколько элементов из className, member или objectName могут быть представлены символом "-", что эквивалентно значению null. Значение null подразумевается любым значением (включая другое значение null), но само не подразумевает никакого другого значения.
- addNotificationListener
- getAttribute
- getClassLoader
- getClassLoaderFor
- getClassLoaderRepository
- getDomains
- getMBeanInfo
- getObjectInstance
- instantiate
- invoke
- isInstanceOf
- queryMBeans
- queryNames
- registerMBean
- removeNotificationListener
- setAttribute
- unregisterMBean
В разделённом запятыми списке действий пробелы допускаются перед каждым действием и после него.
- Примечание к API:
- Это разрешение нельзя использовать для управления доступом к ресурсам, поскольку диспетчер безопасности больше не поддерживается. Поэтому этот класс помечен как устаревший и будет удалён в одном из будущих выпусков.
- Появился в версии:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MBeanPermission |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Создаёт новый объект MBeanPermission с указанными целевым именем и действиями. |
MBeanPermission |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Создаёт новый объект MBeanPermission с указанными целевым именем (именем класса, элементом, именем объекта) и действиями. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Проверяет равенство двух объектов MBeanPermission. |
String |
getActions() |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Возвращает «каноническое строковое представление» действий. |
int |
hashCode() |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Возвращает хеш-код этого объекта. |
boolean |
implies |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Проверяет, «включает» ли этот объект MBeanPermission указанное разрешение. |
Методы, объявленные в классе Permission
checkGuard, getName, newPermissionCollection, toString
Подробное описание конструкторов
MBeanPermission
public MBeanPermission(String name, String actions)
Создаёт новый объект MBeanPermission с указанными целевым именем и действиями.
Целевое имя имеет вид "className#member[objectName]", где каждая часть необязательна. Оно не должно быть пустым или равным null.
Параметр actions содержит разделённый запятыми список действий, предоставляемых для целевого имени. Он не должен быть пустым или равным null.
- Параметры:
-
name— триплет "className#member[objectName]". -
actions— строка действий. - Исключения:
-
IllegalArgumentException— еслиnameилиactionsнедопустимы.
MBeanPermission
public MBeanPermission(String className, String member, ObjectName objectName, String actions)
Создаёт новый объект MBeanPermission с указанными целевым именем (именем класса, элементом, именем объекта) и действиями.
Параметры имени класса, элемента и имени объекта задают целевое имя вида "className#member[objectName]", где каждая часть необязательна. Оно будет возвращено методом Permission.getName() результирующего MBeanPermission.
Параметр actions содержит разделённый запятыми список действий, предоставляемых для целевого имени. Он не должен быть пустым или равным null.
- Параметры:
-
className— имя класса, к которому применяется это разрешение. Может быть равно null или"-", что обозначает имя класса, которое подразумевается любым именем класса, но само не подразумевает никакого другого имени класса. -
member— элемент, к которому применяется это разрешение. Может быть равен null или"-", что обозначает элемент, который подразумевается любым элементом, но сам не подразумевает никакого другого элемента. -
objectName— имя объекта, к которому применяется это разрешение. Может быть равно null, что обозначает имя объекта, которое подразумевается любым именем объекта, но само не подразумевает никакого другого имени объекта. -
actions— строка действий.
Подробное описание методов
getActions
public String getActions()
- Определено в:
-
getActionsв классеPermission - Возвращает:
- каноническое строковое представление действий.
hashCode
public int hashCode()
- Определено в:
-
hashCodeв классеPermission - Возвращает:
- хеш-код этого объекта.
- См. также:
implies
public boolean implies(Permission p)
Проверяет, «включает» ли этот объект MBeanPermission указанное разрешение.
Точнее, этот метод возвращает true, если:
- p является экземпляром MBeanPermission; и
- имя класса p равно null или имя класса p совпадает с именем класса этого объекта; и
- элемент p равен null или элемент p совпадает с элементом этого объекта; и
- имя объекта p равно null или имя объекта p совпадает с именем объекта этого объекта; и
- действия p входят в набор действий этого объекта
Если имя класса этого объекта равно "*", имя класса p всегда ему соответствует. Если оно равно "a.*", имя класса p соответствует ему, если начинается с "a.".
Если элемент этого объекта равен "*", элемент p всегда ему соответствует.
Если имя объекта этого объекта n1 является шаблоном имени объекта, имя объекта n2 объекта p соответствует ему, если n1.equals(n2) или если n1.apply(n2).
Разрешение, включающее действие queryMBeans, считается также включающим queryNames.
- Определено в:
-
impliesв классеPermission - Параметры:
-
p— разрешение для проверки. - Возвращает:
- true, если указанное разрешение включено этим объектом; в противном случае false.
equals
public boolean equals(Object obj)
- Определено в:
-
equalsв классеPermission - Параметры:
-
obj— объект, равенство с которым проверяется. - Возвращает:
- true, если obj является объектом MBeanPermission и его имя и действия совпадают с именем и действиями этого объекта MBeanPermission.
- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/MBeanPermission.html