MQZIC-身份上下文
MQZIC 结构用于 IdentityContext 参数的 MQZ_AUTHENTICATE_USER 调用。
MQZIC 结构包含身份上下文信息,用于标识首先将消息放入队列的应用程序的用户:
- 队列管理器使用标识用户的名称填充 UserIdentifier 字段,队列管理器执行此操作的方式取决于运行应用程序的环境。
- 队列管理器在 AccountingToken 字段中填充从放置消息的应用程序中确定的令牌或数字。
- 应用程序可将 ApplIdentityData 字段用于包含任何有关用户的额外信息(例如加密密码)。
在 IBM® MQ for Windows下创建消息时, Windows 系统安全标识 (SID) 存储在 AccountingToken 字段中。 SID 可用于补充 UserIdentifier 字段和建立用户的凭证。
表 1. 汇总结构中的字段。
| 字段 | 描述 |
|---|---|
| StrucId | 结构标识 |
| 版本 | 版本 |
| UserIdentifier | 用户标识 |
| AccountingToken | 记帐标记 |
| ApplIdentityData | 应用程序标识数据 |
字段
- StrucId
- 类型: MQCHAR4 -输入结构标识。 值如下所示:
- 版本
- 类型 :MQLONG-输入结构版本号。 值如下所示:以下常量指定当前版本的版本号:
- UserIdentifier
- 类型: MQCHAR12 -输入
用户标识。 这是消息的身份上下文的一部分。 UserIdentifier 指定发出消息的应用程序的用户标识。 队列管理器将此信息视为字符数据,但不定义其格式。 有关 UserIdentifier 字段的更多信息,请参阅 UserIdentifier (MQCHAR12) 。
- AccountingToken
- 类型: MQBYTE32 -输入
记帐标记。 这是消息的身份上下文的一部分。 AccountingToken 允许应用程序将由于消息而完成的工作相应地收费。 队列管理器将此信息视为位字符串,并且不检查其内容。 有关 AccountingToken 字段的更多信息,请参阅 AccountingToken (MQBYTE32) 。
- ApplIdentityData
- 类型: MQCHAR32 -输入
与身份相关的应用程序数据。 这是消息的身份上下文的一部分。 ApplIdentityData 是由应用程序套件定义的信息,可用于提供有关信息来源的附加信息。 例如,它可以由使用适当用户权限运行的应用程序设置,以指示身份数据是否可信。 有关 ApplIdentityData 字段的更多信息,请参阅 ApplIdentityData (MQCHAR32) 。
C 声明
typedef struct tagMQZED MQZED;
struct tagMQZED {
MQCHAR4 StrucId; /* Structure identifier */
MQLONG Version; /* Structure version number */
MQCHAR12 UserIdentifier; /* User identifier */
MQBYTE32 AccountingToken; /* Accounting token */
MQCHAR32 ApplIdentityData; /* Application data relating to identity */
};