定义显式 MBean 安全策略

可对特定 MBean 显式定义 MBean 安全策略。使用此示例来定义 MBean 安全策略。

开始之前

此任务假设您对 MBean 编程有基本的了解。有关 MBean 编程的信息,请参阅 MBean Java™ 应用程序编程接口 (API) 文档。 在此信息中心中,单击引用 > MBean 接口

关于此任务

执行下列任务以定义显式安全策略。

过程

  1. 假定您已经具有由 MBean sample.xml 描述符文件定义的 MBean。
  2. sampleSecurity.xml 文件中的 MBean 指定显式安全策略。 命名约定就是您必须将“Security”追加至 MBean 描述符文件名结尾,以作为 MBean 安全性描述符文件的名称。
  3. 将安全策略描述符文件放置在 MBean 安全性描述符所在的目录中,以便 MBean 装入器可找到它。 此目录是安全策略描述符文件的典型位置。如果 MBean 安全性描述符文件不存在,那么使用缺省 MBean 安全策略。
  4. sampleSecurity.xml 文件的资源元素资源名字段中指定 MBean 名称 sample,以便 MBean 策略装入器可将 MBean 安全策略与 MBean 相关联。 MBean 安全性描述符定义与 Java 2 Platform, Enterprise Edition (J2EE) 部署描述符所定义的安全策略非常类似。

结果

您已经显式定义了可与 MBean 一起运行的 MBean 安全策略。

示例

以下示例描述 sampleSecurity.xml 文件的 MBean 安全性描述符文件格式。

第 2 行指定 MBean 安全性描述符模式由 RolePermissionDescriptor.dtd 文件定义,该模式是 WebSphere® Application Server 中的文档类型定义 (DTD)。

如第 3 行中所示,每个 MBean 描述符文件包含单个角色许可权元素。管理安全角色层次结构是在第 9 行和第 37 行之间的安全角色元素中定义的。管理安全角色具有继承关系。

如第 14 行到第 21 行中定义的那样,操作员安全角色隐含监视员安全角色,这意味着具有操作员角色的用户具有监视员角色的所有许可权。如第 30 行到第 38 行中定义的那样,管理员安全角色同时隐含配置员和操作者安全角色。每个 MBean 安全性描述符文件通常具有相同的关系定义,以便您可将此部分剪切并粘贴至 MBean 安全性描述符文件。

可在安全角色元素后定义一个或多个方法许可权元素。每个方法许可权元素定义一个或多个方法所需的角色。指定方法参数以避免多个方法具有相同名称时发生方法名称冲突。

1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE role-permission SYSTEM "RolePermissionDescriptor.dtd" >
3. <role-permission>
4.    <resource>
5.       <resource-name>sample</resource-name>
6.       <class-name>com.ibm.ws.security.descriptor.sample</class-name>
7.       <description>This is a sample for testing role permission descriptor.</description>
8.    </resource>
9.    <security-role>
10.      <role>
11.         <role-name>monitor</role-name>
12.      </role>
13.   </security-role>
14.   <security-role>
15.      <role>
16.         <role-name>operator</role-name>
17.         <imply>
18.            <role-name>monitor</role-name>
19.         </imply>
20.      </role>
21.   </security-role>
22.   <security-role>
23.      <role>
24.         <role-name>configurator</role-name>
25.         <imply>
26.            <role-name>monitor</role-name>
27.         </imply>
28.      /role>
29.   </security-role>
30.   <security-role>
31.      <role>
32.         <role-name>administrator</role-name>
33.         <imply>
34.            <role-name>operator</role-name>
35.            <role-name>configurator</role-name>
36.         </imply>
37.      </role>
38.   </security-role>
39.   <method-permission>
40.      <description>Sample method permission table</description>
41.      <role-name>operator</role-name>
42.      <method>
43.         <description>Sample operation</description>
44.         <resource-name>sample</resource-name>
45.         <method-name>stop</method-name>
46.      </method>
47.   </method-permission>
48.   <method-permission>
49.      <description>Sample method permission table</description>
50.      <role-name>operator</role-name>
51.      <method>
52.         <description>Sample operation</description>
53.         <resource-name>sample</resource-name>
54.         <method-name>start</method-name>
55.         <method-params>
56.            <method-param>java.lang.String</method-param>
57.            <method-param>java.lang.String</method-param>
58.         </method-params>
59.      </method>
60.   </method-permission>
61.   <method-permission>
62.      <description>Sample method permission table</description>
63.      <role-name>operator</role-name>
64.      <method>
65.         <description>Sample operation</description>
66.         <resource-name>sample</resource-name>
67.         <method-name>monitor</method-name>
68.         <method-params>
69.         </method-params>
70.      </method>
71.   </method-permission>
72.   <method-permission>
73.      <description>Sample method permission table</description>
74.      <role-name>configurator</role-name>
75.      <method>
76.         <description>Sample operation</description>
77.         <resource-name>sample</resource-name>
78.         <method-name>setValue</method-name>
79.         <method-params>
80.            <method-param>java.lang.Boolean</method-param>
81.         </method-params>
82.      </method>
83.   </method-permission>
84.   <method-permission>
85.      <description>Sample method permission table</description>
86.      <role-name>monitor</role-name>
87.      <method>
88.         <description>Sample operation</description>
89.         <resource-name>sample</resource-name>
90.         <method-name>getValue</method-name>
91.      </method>
92.   </method-permission>
93. </role-permission>

指示主题类型的图标 任务主题



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