模块  java.base
软件包  java.util

Class PropertyPermission

  • 实现的所有接口
    SerializableGuard

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

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

    要授予的操作将以包含一个或多个逗号分隔关键字列表的字符串形式传递给构造函数。 可能的关键字是“读”和“写”。 它们的含义定义如下:

    阅读许可。 允许System.getProperty
    写权限。 允许System.setProperty被调用。

    在处理之前,actions字符串将转换为小写。

    在授予访问某些系统属性的代码权限之前,应该小心。 例如,授予访问“java.home”系统属性的权限可能会提供有关系统环境(Java安装目录)的潜在恶意代码敏感信息。 此外,授予访问“user.name”和“user.home”系统属性的权限可能会提供有关用户环境(用户的帐户名和主目录)的潜在恶意代码敏感信息。

    从以下版本开始:
    1.2
    另请参见:
    BasicPermissionPermissionPermissionsPermissionCollectionSecurityManager
    • 构造方法详细信息

      • PropertyPermission

        public PropertyPermission​(String name,
                                  String actions)
        创建具有指定名称的新PropertyPermission对象。 名称是系统属性的名称,而操作包含以逗号分隔的列表,列出了在属性上授予的所需操作。 可能的操作是“读取”和“写入”。
        参数
        name - PropertyPermission的名称。
        actions - 操作字符串。
        异常
        NullPointerException - 如果 namenull
        IllegalArgumentException - 如果 name为空或 actions无效。
    • 方法详细信息

      • implies

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

        更具体地说,如果满足以下条件,则此方

        • 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。
        另请参见:
        Object.hashCode()HashMap
      • getActions

        public String getActions()
        返回操作的“规范字符串表示形式”。 也就是说,此方法始终按以下顺序返回当前操作:read,write。 例如,如果此PropertyPermission对象允许写入和读取操作,则对getActions的调用将返回字符串“read,write”。
        重写:
        getActions在类 BasicPermission
        结果
        行为的规范字符串表示。
      • newPermissionCollection

        public PermissionCollection newPermissionCollection()
        返回用于存储PropertyPermission对象的新PermissionCollection对象。
        重写:
        newPermissionCollection在类 BasicPermission
        结果
        一个适合存储PropertyPermissions的新PermissionCollection对象。