- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.util.PropertyPermission
-
- All Implemented Interfaces:
-
Serializable
,Guard
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
- 另请参见:
-
BasicPermission
,Permission
,Permissions
,PermissionCollection
,SecurityManager
-
-
构造方法摘要
构造方法 Constructor 描述 PropertyPermission(String name, String actions)
创建一个具有指定名称的新PropertyPermission对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object obj)
检查两个PropertyPermission对象是否相等。String
getActions()
返回动作的“规范字符串表示”。int
hashCode()
返回此对象的哈希码值。boolean
implies(Permission p)
检查此PropertyPermission对象是否“暗示”指定的权限。PermissionCollection
newPermissionCollection()
返回一个用于存储PropertyPermission对象的新的PermissionCollection对象。-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.security.Permission
checkGuard, getName, toString
-
-
-
-
构造方法详细信息
-
PropertyPermission
public PropertyPermission(String name, String actions)
创建一个具有指定名称的新PropertyPermission对象。 该名称是系统属性的名称, 操作包含在属性上授予的所需操作的逗号分隔列表。 可能的操作是“读取”和“写入”。- 参数
-
name
- PropertyPermission的名称。 -
actions
- 操作字符串。 - 异常
-
NullPointerException
- 如果name
是null
。 -
IllegalArgumentException
- 如果name
为空,或者如果actions
无效。
-
-
方法详细信息
-
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,则为true,并具有与此PropertyPermission对象相同的名称和操作。
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此对象的哈希码值。 使用的哈希码是此权限名称的哈希码,即getName().hashCode()
,其中getName
来自Permission超类。- 重写:
-
hashCode
在BasicPermission
- 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
getActions
public String getActions()
返回动作的“规范字符串表示”。 也就是说,该方法总是按照以下顺序返回当前操作:读取,写入。 例如,如果此PropertyPermission对象允许写入和读取操作,则调用getActions
将返回字符串“读取,写入”。- 重写:
-
getActions
在BasicPermission
- 结果
- 规范字符串表示的动作。
-
newPermissionCollection
public PermissionCollection newPermissionCollection()
返回一个用于存储PropertyPermission对象的新的PermissionCollection对象。- 重写:
-
newPermissionCollection
在BasicPermission
- 结果
- 适用于存储PropertyPermissions的新PermissionCollection对象。
-
-