library.policy 文件许可权
Java™ 2 安全性使用若干策略文件,为每个 Java 程序确定授予的许可权。
要获取 WebSphere® Application Server 支持的可用策略文件列表,请参阅 Java 2 安全性策略文件。
library.policy 文件是共享库(Java 库类)的模板。多个企业应用程序可以定义和使用共享库。请参阅“管理共享库”,以了解如何定义和管理共享库。
如果共享库的缺省许可权(java.policy 文件、app.policy 文件和 library.policy 文件中定义的联合许可权)足够,那么无需执行操作。缺省库策略自动选取。如果必需特定的更改来共享单元中的库,更新 library.policy 文件。
策略文件中的语法错误将导致应用程序服务器失败。仔细地编辑这些策略文件。
要抽取策略文件,请使用适合于环境的变量值通过命令提示符输入以下命令:仅仅是为了便于显示而将前两行分为两行。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy c:/temp/test/library.policy]
![[IBM i]](../images/iseries.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]
![[z/OS]](../images/ngzos.gif)
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]](../images/dist.gif)
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
c:/temp/test/library.policy $obj
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
temp/test/library.policy $obj
![[z/OS]](../images/ngzos.gif)
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]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant {
};
![[IBM i]](../images/iseries.gif)
grant {
};
如果单元中的共享库需要在 java.policy 文件、app.policy 文件和 library.policy 文件中不是定义为缺省值的许可权,那么更新 library.policy 文件。缺少许可权将导致 java.security.AccessControlException 异常。缺少的许可权在异常数据中列示。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[Windows]](../images/windows.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_root/lib/mail-impl.jar read)
以上各行分割为两行仅为了便于说明。app_server_root 变量表示安装目录。![[IBM i]](../images/iseries.gif)
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]](../images/dist.gif)
![[Windows]](../images/windows.gif)
grant { permission java.io.FilePermission "app_server_root/lib/mail-impl.jar", "read"; };
以上各行分割为两行仅为了便于说明。app_server_root 变量表示安装目录。![[IBM i]](../images/iseries.gif)
grant codeBase "file:user_client_installed_location" { permission
java.io.FilePermission "app_server_rootBase/lib/mail-impl.jar", "read"; };
以上各行分割为两行仅为了便于说明。要确定是否添加许可权,请参阅“Java 2 安全性的访问控制异常”。
重新启动相关的 Java 进程,以使 library.policy 文件中的更改生效。