Module java.base
Package java.io

Class SerializablePermission

所有已实现的接口:
Serializable, Guard

public final class SerializablePermission extends BasicPermission
这个类用于可序列化权限。一个SerializablePermission包含一个名称(也称为“目标名称”),但没有动作列表;你要么有命名的权限,要么没有。

目标名称是Serializable权限的名称(见下文)。

以下表格列出了标准的SerializablePermission目标名称,以及每个名称允许的权限描述以及授予代码该权限的风险讨论。

权限目标名称,权限允许的内容以及相关风险
权限目标名称 权限允许的内容 允许此权限的风险
enableSubclassImplementation 允许子类实现ObjectOutputStream或ObjectInputStream来覆盖默认的对象序列化或反序列化 代码可以使用此功能以有意恶意的方式序列化或反序列化类。例如,在序列化期间,恶意代码可以使用此功能有意地将机密私有字段数据存储在易于攻击者访问的方式中。或者,在反序列化期间,它可以将一个类反序列化为所有私有字段都被清零的状态。
enableSubstitution 在序列化或反序列化期间用一个对象替换另一个对象 这是危险的,因为恶意代码可以用具有不正确或恶意数据的对象替换实际对象。
serialFilter 为ObjectInputStreams设置过滤器。 代码可以移除已配置的过滤器并移除已建立的保护。
自版本:
1.2
参见:
  • Constructor Details

    • SerializablePermission

      public SerializablePermission(String name)
      使用指定的名称创建一个新的SerializablePermission。名称是SerializablePermission的符号名称,例如“enableSubstitution”等。
      参数:
      name - SerializablePermission的名称。
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空。
    • SerializablePermission

      public SerializablePermission(String name, String actions)
      使用指定的名称创建一个新的SerializablePermission对象。名称是SerializablePermission的符号名称,而操作字符串当前未使用,应设置为null。
      参数:
      name - SerializablePermission的名称。
      actions - 当前未使用,必须设置为null
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空。