Класс 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.
Для имеющегося у вас разрешения это либо имя доступного атрибута или операции, либо пустая строка, либо один символ "
*"; оба последних варианта предоставляют доступ к любому элементу. -
Имя объекта.
Для необходимого разрешения это
ObjectNameдоступного вам MBean. Для операций, не относящихся к одному 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
checkGuard |
Реализует интерфейс Guard для разрешения. |
final String |
getName() |
Возвращает имя этого Permission. |
PermissionCollection |
newPermissionCollection() |
Возвращает пустой PermissionCollection для заданного объекта Permission или null, если он не определён. |
String |
toString() |
Возвращает строку с описанием этого Permission. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, для удаления: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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 className равен null или className объекта p совпадает с className этого объекта; и
- у p member равен null или member объекта p совпадает с member этого объекта; и
- у p имя объекта равно null или имя объекта p совпадает с именем объекта этого объекта; и
- действия объекта p являются подмножеством действий этого объекта
Если className этого объекта равно "*", className объекта p всегда ему соответствует. Если оно равно "a.*", className объекта p соответствует ему, если начинается с "a.".
Если member этого объекта равен "*", member объекта p всегда ему соответствует.
Если objectName этого объекта n1 является шаблоном имени объекта, objectName объекта p n2 соответствует ему, если 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.