特定存取規則置換一般存取規則。套用以下兩條規則之後,所有使用者均可以將訊息傳送至所有佇列,但是 Bob 卻無法將訊息傳送至 tq1。
queue.*.produce.allow.user=* queue.tq1.produce.deny.user=Bob
賦予明確 principal 的存取權會置換賦予 * principal 的存取權。以下規則拒絕 Bob 產生訊息傳給 tq1,但允許其他所有使用者執行這項作業。
queue.tq1.produce.allow.user=* queue.tq1.produce.deny.user=Bob
用於使用者的 * principal 規則置換用於群組的相應 * principal 規則。例如,以下兩條規則允許所有認證使用者將訊息傳送至 tq1。
queue.tq1.produce.allow.user=* queue.tq1.produce.deny.group=*
授予使用者的存取權會置換授予使用者群組的存取權。在下列範例中,即使 Bob 是 User 成員,也無法產生訊息傳給 tq1。User 的所有其他成員皆可執行這項作業。
queue.tq1.produce.allow.group=User queue.tq1.produce.deny.user=Bob
任何未透過存取規則明確授予的存取權限,都會遭到隱式拒絕。例如,如果 ACL 檔案不包含存取規則,則所有使用者都無法執行所有作業。
相同使用者或群組的拒絕和允許權限會相互抵銷。例如,以下兩條規則導致 Bob 無法瀏覽 q1:
queue.q1.browse.allow.user=Bob queue.q1.browse.deny.user=Bob
以下兩條規則導致 User 群組無法使用 q5 的訊息。
queue.q5.consume.allow.group=User queue.q5.consume.deny.group=User
當存在多條相同的左側規則時,只有最後一項生效。