授予其他用户访问权以仅预订树中较深的主题
此主题是任务列表中的第三个主题,用于指示如何授予多个用户预订主题的访问权。
开始之前
关于本任务
USER2被拒绝访问主题Price/Fruit/Apples
。 本主题告诉您如何授予对该主题的访问权,但不授予对任何其他主题的访问权。
| Topic | 需要预订访问权 | 主题对象 |
|---|---|---|
| 价格 | 无用户 | None |
| 价格/水果 | USER1 | 水果 |
| 价格/水果/苹果 | USER1 和 USER2 | Apple |
| 价格/水果/橙子 | USER1 |
定义新主题对象,如下所示:
过程
结果
在 z/OS 上,当 USER1 试图订阅主题 Price/Fruit/Apples
时,对 hlq.SUBSCRIBE.APPLE 配置文件的第一次安全检查失败,但在向上移动树时, hlq.SUBSCRIBE.FRUIT 配置文件允许 USER1 订阅,因此订阅成功,没有向 MQSUB 调用发送返回代码。 然而,RACFICH第一次检查时生成消息:ICH408I USER(USER1 ) ...
hlq.SUBSCRIBE.APPLE ...
当 USER2 尝试预订主题 时,结果是成功的,因为安全性检查通过了第一个概要文件。Price/Fruit/Apples
当
USER2 尝试预订主题 Price/Fruit/Oranges
时,结果是失败,并显示 MQRC_NOT_AUTHORIZED 消息,以及:
在 z/OS 上,控制台会出现以下信息,显示已尝试通过主题树的完整安全路径:ICH408I USER(USER2 ) ... hlq.SUBSCRIBE.FRUIT ... ICH408I USER(USER2 ) ... hlq.SUBSCRIBE.SYSTEM.BASE.TOPIC ...
在 AIX, Linux, and Windows 平台上,授权事件如下:MQRC_NOT_AUTHORIZED ReasonQualifier MQRQ_SUB_NOT_AUTHORIZED UserIdentifier USER2 AdminTopicNames FRUIT, SYSTEM.BASE.TOPIC TopicString "Price/Fruit/Oranges"
IBMi 上发生以下授权事件:MQRC_NOT_AUTHORIZED ReasonQualifier MQRQ_SUB_NOT_AUTHORIZED UserIdentifier USER2 AdminTopicNames FRUIT, SYSTEM.BASE.TOPIC TopicString "Price/Fruit/Oranges"
这种设置的缺点是,在 z/OS 时,控制台会收到额外的 ICH 消息。 如果您以不同的方式保护主题树,则可以避免这种情况。
多平台: