ACL 属性文件中,访问控制用于定义特定用户或组对受保护的资源(如物理目的地和连接服务)具有哪些访问权限。访问控制由一个规则或一组规则组成,每个规则都由一个 Java 属性表示:
这些规则的基本语法如下:
resourceType.resourceVariant .operation.access. principalType=principals
表 7–3 介绍了语法规则的元素。
表 7–3 访问规则的语法元素
元素 |
描述 |
---|---|
resourceType |
以下选项之一:connection、queue 或 topic。 |
resourceVariant |
resourceType 指定的类型的一个实例。例如,myQueue。通配符 (*) 可用于表示所有连接服务类型或所有物理目的地。 |
operation |
值取决于所设置的访问规则的类型。 |
access |
以下选项之一:allow 或 deny。 |
principalType |
以下选项之一:user 或 group。有关详细信息,请参见组。 |
principals |
可能具有规则左侧指定的访问权限的人。如果 principalType 为 user,则可能是单个用户或以逗号分隔的用户列表;如果 principalType 为 group,则可能是单个组或以逗号分隔的组列表。通配符 (*) 可用于表示所有用户或所有组。 |
下面是一些访问规则示例:
以下规则表示所有用户都可以向名为 q1 的队列发送消息。
queue.q1.produce.allow.user=*
以下规则表示任何用户都可以向任何队列发送消息。
queue.*.produce.allow.user=*
要指定非 ASCII 的用户、组或目的地名称,请使用 Unicode 转义符 (\\uXXXX) 表示法。如果在您编辑并保存的 ACL 文件中,这些名称采用了非 ASCII 编码,则可以通过 Java native2ascii 工具将此文件转换为 ASCII。有关更多详细信息,请参见
http://java.sun.com/j2se/1.4/docs/guide/intl/faq.html