# 授予所需权限

> 原文： [https://docs.oracle.com/javase/tutorial/security/tour2/wstep2.html](https://docs.oracle.com/javase/tutorial/security/tour2/wstep2.html)

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

<center>![the Policy Entry dialog](img/3c564acdfa5f545df2ecf819a4941040.jpg)</center>

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

```
file:/C:/Test/

```

（注意，这是一个 URL，因此必须始终使用斜杠，而不是反斜杠。）

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

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

<center>![the Permission dialog](img/d835a9db408a06b19edb28fc4d18cdd6.jpg)</center>

请执行下列操作。

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

    ```
      user.home  
    ```

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

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

<center>![the Permissions dialog with the text fields filled in](img/4cf17abcfda10653cc098b587ed2fbb6.jpg)</center>

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

<center>![the new permission in the Policy Entry window](img/ed80c09604ef4ca91c92056bb5f6f4b7.jpg)</center>

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

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

    ```
      java.home  
    ```

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

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

<center>![the Permissions dialog with the java home property set to read](img/90d9ee8573557db25f17b7de6d87a81e.jpg)</center>

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

<center>![the new permission appears in the Policy Entry dialog](img/0ebcd74f3350190556b8f3532ff60b31.jpg)</center>

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