Класс SerializablePermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.io.SerializablePermission
- Все реализованные интерфейсы:
-
Serializable,Guard
public final class SerializablePermission extends BasicPermission
Этот класс предназначен для разрешений Serializable. SerializablePermission содержит имя (также называемое «именем целевого объекта»), но не список действий; у вас есть разрешение на указанное имя или нет.
Имя целевого объекта — это имя разрешения Serializable (см. ниже).
В следующей таблице перечислены стандартные SerializablePermission целевые имена, и для каждого из них приведено описание того, что позволяет разрешение, и обсуждение рисков предоставления коду этого разрешения.
| Имя целевого разрешения | Что позволяет разрешение | Риски предоставления этого разрешения |
|---|---|---|
| enableSubclassImplementation | Реализация подкласса ObjectOutputStream или ObjectInputStream для переопределения стандартной сериализации или десериализации объектов соответственно | Код может использовать это для сериализации или десериализации классов злонамеренным образом. Например, во время сериализации вредоносный код может использовать это, чтобы целенаправленно сохранить конфиденциальные данные частных полей таким образом, чтобы они были легко доступны злоумышленникам. Или, при десериализации, он может, например, десериализовать класс со всеми его частными полями, обнулёнными. |
| enableSubstitution | Замена одного объекта другим во время сериализации или десериализации | Это опасно, потому что вредоносный код может заменить фактический объект объектом с некорректными или злонамеренными данными. |
| serialFilter | Установка фильтра для ObjectInputStream | Код может удалить настроенный фильтр и удалить уже установленные защиты. |
- С:
- 1.2
- См. также:
-
BasicPermission,Permission,Permissions,PermissionCollection,SecurityManager, Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
SerializablePermission(String name) |
Создает новое SerializablePermission с указанным именем. |
SerializablePermission(String name,
String actions) |
Создает новый объект SerializablePermission с указанным именем. |
Методы
Методы, объявленные в классе java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Методы, объявленные в классе java.security.Permission
checkGuard, getName, toString
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Конструкторы
SerializablePermission
public SerializablePermission(String name)
Создает новое SerializablePermission с указанным именем. Имя — это символическое имя SerializablePermission, например, «enableSubstitution» и т. д.
- Параметры:
-
name— имя SerializablePermission. - Исключения:
-
NullPointerException— еслиnameявляетсяnull. -
IllegalArgumentException— еслиnameпустое.
SerializablePermission
public SerializablePermission(String name,
String actions)
Создает новый объект SerializablePermission с указанным именем. Имя — это символическое имя SerializablePermission, а строка действий в настоящее время не используется и должна быть null.
- Параметры:
-
name— имя SerializablePermission. -
actions— в настоящее время не используется и должно быть установлено в null - Исключения:
-
NullPointerException— еслиnameявляетсяnull. -
IllegalArgumentException— еслиnameпустое.
© 1993, 2020, 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/11/docs/api/java.base/java/io/SerializablePermission.html