授予所需权限

原文: https://docs.oracle.com/javase/tutorial/security/tour2/wstep2.html

要授予GetProps应用程序读取"user.home""java.home"属性值的权限,您必须创建一个授予这些权限的策略条目。在主策略工具窗口中选择添加策略条目按钮。这将打开 Policy Entry 对话框,如下图所示。

the Policy Entry dialog

CodeBase 文本框中键入以下文件 URL,表示您将从指定目录授予代码权限,该目录是存储GetProps.class的目录。

  1. file:/C:/Test/

(注意,这是一个 URL,因此必须始终使用斜杠,而不是反斜杠。)

SignedBy 文本框留空,因为您不需要对代码进行签名。

要添加读取"user.home"属性值的权限,请选择 Add Permission 按钮。这将打开“权限”对话框。

the Permission dialog

请执行下列操作。

  1. 从 Permission 下拉列表中选择属性权限。完整的权限类型名称(java.util.PropertyPermission)现在显示在下拉列表右侧的文本框中。
  2. 在标记为目标名称的列表右侧的文本框中键入以下内容以指定"user.home"属性:

    1. user.home
  3. 通过从 Actions 下拉列表中选择 read 选项,指定读取此属性的权限。

现在,“权限”对话框如下所示。

the Permissions dialog with the text fields filled in

选择 OK 按钮。新权限显示在策略条目窗口的一行中。

the new permission in the Policy Entry window

要添加读取"java.home"属性值的权限,请再次选择 Add Permission 按钮。在“权限”对话框中,执行以下操作:

  1. 从 Permission 下拉列表中选择属性权限
  2. 在标记为目标名称的列表右侧的文本框中键入以下内容以指定"java.home"属性:

    1. java.home
  3. 通过从 Actions 下拉列表中选择 read 选项,指定读取此属性的权限。

现在,“权限”对话框如下所示。

the Permissions dialog with the java home property set to read

选择 OK 按钮。新权限和先前添加的权限显示在策略条目窗口的行中,如下图所示。

the new permission appears in the Policy Entry dialog

您现在已完成指定此策略条目,因此请在“策略条目”对话框中选择完成按钮。 Policy Tool 窗口现在包含一条代表新策略条目的行,显示 CodeBase 值。