Module java.base
Package java.util

Class PropertyPermission

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

public final class PropertyPermission extends BasicPermission
此类用于属性权限。

名称是属性的名称("java.home","os.name"等)。命名约定遵循分层属性命名约定。此外,名称的末尾可能会出现一个星号,跟随一个“.”,或者单独出现,表示通配符匹配。例如:"java.*"和"*"表示通配符匹配,而"*java"和"a*b"则不是。

要授予的操作以包含一个或多个逗号分隔关键字的字符串传递给构造函数。可能的关键字是"read"和"write"。它们的含义定义如下:

read
读权限。允许调用System.getProperty
write
写权限。允许调用System.setProperty

在处理之前,操作字符串会转换为小写。

在授予代码访问某些系统属性的权限之前,应谨慎。例如,授予访问"java.home"系统属性的权限会使潜在的恶意代码获得有关系统环境(Java安装目录)的敏感信息。此外,授予访问"user.name"和"user.home"系统属性的权限会使潜在的恶意代码获得有关用户环境(用户帐户名称和主目录)的敏感信息。

自 JDK 版本:
1.2
参见:
  • Constructor Details

    • PropertyPermission

      public PropertyPermission(String name, String actions)
      创建具有指定名称的新 PropertyPermission 对象。名称是系统属性的名称,actions 包含对属性授予的所需操作的逗号分隔列表。可能的操作是"read"和"write"。
      参数:
      name - PropertyPermission 的名称。
      actions - 操作字符串。
      抛出:
      NullPointerException - 如果 namenull
      IllegalArgumentException - 如果 name 为空或者 actions 无效。
  • Method Details

    • implies

      public boolean implies(Permission p)
      检查此 PropertyPermission 对象是否“暗示”指定的权限。

      更具体地说,如果满足以下条件,此方法将返回 true:

      • p 是 PropertyPermission 的一个实例,
      • p 的操作是此对象操作的子集,并且
      • p 的名称被此对象的名称所暗示。例如,"java.*" 暗示 "java.home"。
      覆盖:
      implies 在类 BasicPermission
      参数:
      p - 要检查的权限。
      返回:
      如果指定的权限被此对象暗示,则返回 true;否则返回 false。
    • equals

      public boolean equals(Object obj)
      检查两个 PropertyPermission 对象是否相等。检查 obj 是否为 PropertyPermission,并且具有与此对象相同的名称和操作。
      覆盖:
      equals 在类 BasicPermission
      参数:
      obj - 与此对象进行相等性测试的对象。
      返回:
      如果 obj 是 PropertyPermission,并且具有与此 PropertyPermission 对象相同的名称和操作,则返回 true。
      参见:
    • hashCode

      public int hashCode()
      返回此对象的哈希码值。使用的哈希码是此权限名称的哈希码,即 getName().hashCode(),其中 getName 来自 Permission 超类。
      覆盖:
      hashCode 在类 BasicPermission
      返回:
      此对象的哈希码值。
      参见:
    • getActions

      public String getActions()
      返回操作的“规范字符串表示”。即,此方法始终以以下顺序返回当前操作:read, write。例如,如果此 PropertyPermission 对象允许读取和写入操作,调用 getActions 将返回字符串 "read,write"。
      覆盖:
      getActions 在类 BasicPermission
      返回:
      操作的规范字符串表示。
    • newPermissionCollection

      public PermissionCollection newPermissionCollection()
      返回一个新的 PermissionCollection 对象,用于存储 PropertyPermission 对象。
      覆盖:
      newPermissionCollection 在类 BasicPermission
      返回:
      适用于存储 PropertyPermissions 的新 PermissionCollection 对象。