モジュール java.base
パッケージ java.io

クラスSerializablePermission

  • すべての実装されたインタフェース:
    Serializable, Guard


    public final class SerializablePermission
    extends BasicPermission
    直列化可能アクセス権のためのクラスです。 SerializablePermissionには、ターゲット名とも呼ばれる名前が格納されますが、アクション・リストは格納されません。ユーザーは名前付きアクセス権を持つ場合と、持たない場合があります。

    ターゲット名は、直列化可能アクセス権の名前です(以降を参照)。

    次の表に、標準のSerializablePermissionターゲット名を示します。それぞれには、許可が許可する内容とコードに許可を与えるリスクの説明が記載されています。

    アクセス権ターゲット名、許可されるアクセス権、関連するリスク
    アクセス権ターゲット名 アクセス権により許可される機能 このアクセス権を許可した場合のリスク
    enableSubclassImplementation ObjectOutputStreamまたはObjectInputStreamのサブクラスの実装で、各オブジェクトのデフォルトの直列化または直列化復元をオーバーライドする コードはこれを利用し、悪意を持ってクラスの直列化や直列化復元を行う可能性があります。 たとえば、直列化中、非常に重要なprivateフィールド・データを、攻撃者が簡単にアクセスできる形で保存する可能性があります。 また、直列化復元中、クラスのprivateフィールドをすべてゼロにして直列化復元する可能性があります。
    enableSubstitution 直列化または直列化復元の際に、オブジェクトを別のオブジェクトと置き換える 悪意のあるコードはこれによって実際のオブジェクトを、不正なデータまたは悪意のあるデータを持つオブジェクトに置き換えることができるため、危険です。
    serialFilter ObjectInputStreamのフィルタの設定。 コードは構成済みのフィルタを削除し、すでに確立されている保護を削除する可能性があります。
    導入されたバージョン:
    1.2
    関連項目:
    BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager, 直列化された形式
    • コンストラクタの詳細

      • SerializablePermission

        public SerializablePermission​(String name)
        指定された名前を持つSerializablePermissionを新しく作成します。 名前はSerializablePermissionのシンボリック名(enableSubstitutionなど)です。
        パラメータ:
        name - SerializablePermissionの名前。
        例外:
        NullPointerException - namenullである場合。
        IllegalArgumentException - nameが空である場合。
      • SerializablePermission

        public SerializablePermission​(String name,
                                      String actions)
        指定された名前を持つSerializablePermissionオブジェクトを新しく作成します。 この名前はSerializablePermissionのシンボリック名です。actions Stringは現在使用されないためnullにしてください。
        パラメータ:
        name - SerializablePermissionの名前。
        actions - 現在は使用されておらずnullに設定する必要がある
        例外:
        NullPointerException - namenullである場合。
        IllegalArgumentException - nameが空である場合。