library.policy 文件许可权

Java™ 2 安全性使用若干策略文件,为每个 Java 程序确定授予的许可权。

要获取 WebSphere® Application Server 支持的可用策略文件列表,请参阅 Java 2 安全性策略文件。

library.policy 文件是共享库(Java 库类)的模板。多个企业应用程序可以定义和使用共享库。请参阅“管理共享库”,以了解如何定义和管理共享库。

如果共享库的缺省许可权(java.policy 文件、app.policy 文件和 library.policy 文件中定义的联合许可权)足够,那么无需执行操作。缺省库策略自动选取。如果必需特定的更改来共享单元中的库,更新 library.policy 文件。

策略文件中的语法错误将导致应用程序服务器失败。仔细地编辑这些策略文件。

要点: 不要将 codebase 关键字或其他关键字放置在 grant 关键字后面。 library.policy 文件中不支持 Signed By 关键字和 Java 认证和授权服务 (JAAS) 主体关键字。在 java.policyserver.policyclient.policy 策略文件中支持 Signed By 关键字。当 JAAS 主体关键字由 Java 虚拟机 (JVM) 系统属性 java.security.auth.policy 指定时,JAAS 策略文件中支持 JAAS 主体关键字。可以在 java.security.auth.policy 文件中使用 auth.policy.url.n=URL 来静态设置授权策略文件,其中 URL 是授权策略的位置。

要抽取策略文件,请使用适合于环境的变量值通过命令提示符输入以下命令:仅仅是为了便于显示而将前两行分为两行。

[AIX Solaris HP-UX Linux Windows]

wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy c:/temp/test/library.policy]

[IBM i]

wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]

[z/OS]

wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]

用策略工具编辑抽取的 library.policy 文件。有关更多信息,请参阅使用 PolicyTool 来编辑 Java 2 安全性的策略文件

要检入策略文件,请使用适合于环境的变量值通过命令提示符输入以下命令:在服务器重新启动后,将已更新的 library.policy 应用于共享库。

[AIX Solaris HP-UX Linux Windows]

wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy  
                c:/temp/test/library.policy $obj

[IBM i]wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy  
                temp/test/library.policy $obj

[z/OS]

wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy  
                 temp/test/library.policy $obj

示例

包含在 java.policy 文件、app.policy 文件和 library.policy 文件中的联合许可权应用到共享库。library.policy 文件由配置和文件复制服务管理。

对该文件的更改将复制到单元中的其他节点。

[AIX Solaris HP-UX Linux Windows][z/OS]WebSphere Application Server 提供的 library.policy 文件位于 app_server_root/config/cells/cell_name/nodes/node_name/ 目录中。此文件包含一个空的许可权条目作为缺省值。例如:
grant {
  };
[IBM i]WebSphere Application Server 提供的 library.policy 文件位于 profile_root/config/cells/cell_name/nodes/node_name/ 目录中。此文件包含一个空的许可权条目作为缺省值。例如:
grant {
  };

如果单元中的共享库需要在 java.policy 文件、app.policy 文件和 library.policy 文件中不是定义为缺省值的许可权,那么更新 library.policy 文件。缺少许可权将导致 java.security.AccessControlException 异常。缺少的许可权在异常数据中列示。

[AIX Solaris HP-UX Linux Windows][Windows]例如:
java.security.AccessControlException: access denied (java.io.FilePermission 
app_server_root/lib/mail-impl.jar read)
以上各行分割为两行仅为了便于说明。app_server_root 变量表示安装目录。
[IBM i]例如:
java.security.AccessControlException: access denied (java.io.FilePermission 
app_server_rootBase/lib/mail-impl.jar read)
以上各行分割为两行仅为了便于说明。

当 Java 程序接收到此异常,并且允许添加此许可权时,请在 library.policy 文件中添加许可权。

[AIX Solaris HP-UX Linux Windows][Windows]例如:
grant { permission java.io.FilePermission "app_server_root/lib/mail-impl.jar", "read"; };
以上各行分割为两行仅为了便于说明。app_server_root 变量表示安装目录。
[IBM i]例如:
grant codeBase "file:user_client_installed_location" { permission 
java.io.FilePermission "app_server_rootBase/lib/mail-impl.jar", "read"; };
以上各行分割为两行仅为了便于说明。

要确定是否添加许可权,请参阅“Java 2 安全性的访问控制异常”。

重新启动相关的 Java 进程,以使 library.policy 文件中的更改生效。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_librarypolicy
文件名:rsec_librarypolicy.html