Module  java.base
软件包  java.util

Class PropertyPermission

  • All Implemented Interfaces:
    SerializableGuard


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

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

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

    读权限 允许System.getProperty
    写许可。 允许System.setProperty

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

    在授予访问某些系统属性的代码权限之前,请注意。 例如,授予访问“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对象是否“暗示”指定的权限。

        更具体地说,这个方法返回true:

        • p是PropertyPermission的一个实例,
        • p的动作是这个对象的动作的一个子集
        • p的名称是由该对象的名称所暗示的。 例如,“java。*”意味着“java.home”。
        重写:
        impliesBasicPermission
        参数
        p - 允许检查。
        结果
        如果此对象隐含指定的权限,则为true,否则为false。
      • equals

        public boolean equals​(Object obj)
        检查两个PropertyPermission对象是否相等。 检查obj是一个PropertyPermission,并具有与此对象相同的名称和操作。
        重写:
        equalsBasicPermission
        参数
        obj - 我们正在测试与此对象相等的对象。
        结果
        如果obj是PropertyPermission,则为true,并具有与此PropertyPermission对象相同的名称和操作。
        另请参见:
        Object.hashCode()HashMap
      • getActions

        public String getActions​()
        返回动作的“规范字符串表示”。 也就是说,该方法总是按照以下顺序返回当前操作:读取,写入。 例如,如果此PropertyPermission对象允许写入和读取操作,则调用getActions将返回字符串“读取,写入”。
        重写:
        getActionsBasicPermission
        结果
        规范字符串表示的动作。
      • newPermissionCollection

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