在 WebSphere MQ Publish/Subscribe中,所有发布和预订权限检查都是依据流队列执行的。发布应用程序需要将消息放入流队列的权限。WebSphere MQ Publish/Subscribe代理还检查预订应用程序的权限,而这些应用程序需要在流队列上的浏览权限。预订应用程序还需要对被指定为接收其发布内容的队列有放入权限。
由 WebSphere Message Broker 代理进行类似的检查,但是没有检查预订,或浏览权限。 取而代之的是,WebSphere Message Broker 使用“访问控制表”(ACL)(可以使用工作台创建)来为单个主题提供所需的权限。 要获取关于 ACL 的更多信息,请参阅访问运行时资源的权限。
但是,WebSphere Message Broker 可以在任何输入队列上处理流发布内容, 因为发布程序不再需要放入与流同名的队列。 因此,使用与所有流相应的主题级别限定符来设置所有流的等值 ACL。
流权限
该图显示了所需要的流权限。这个例子假设您已经用发布、预订和持久传递都设置为拒绝的权限更新主体 PublicGroup 上主题根的缺省 ACL。
这些设置确保缺省流上的发布程序和订户无法在其他流上发布或预订 ,并且没有覆盖相关设置的显式 ACL。
这些设置覆盖父代主题上的所有设置,并将发布和预订活动限于这些特定组内部的用户。
这些设置覆盖父代主题上的所有设置,并将发布和预订活动限于这些特定组内部的用户。
如果要设置这种情况的例外,可在适当点引入 ACL 来完成它。 例如,如果要授予缺省流 PDefault 发布程序在 StreamX 上的发布权限, 必须在第(3)点上创建一个显式 ACL 来授予该权限,从而覆盖第(2)点上的拒绝权限。在这个方案中,PDefault 中的用户仍不能在 StreamY 上发布。