MQZIC-身份上下文
MQZIC 结构用于 IdentityContext 参数的 MQZ_AUTHENTICATE_USER 调用。
MQZIC 结构包含身份上下文信息,用于标识首先将消息放入队列的应用程序的用户:
- 队列管理器使用标识用户的名称填充 UserIdentifier 字段,队列管理器执行此操作的方式取决于运行应用程序的环境。
- 队列管理器使用从放置消息的应用程序中确定的令牌或数字来填充 AccountingToken 字段。
- 应用程序可将ApplIdentityData字段用于包含任何有关用户的额外信息(例如加密密码)。
在 IBM® MQ for Windows下创建消息时, Windows 系统安全标识 (SID) 存储在 AccountingToken 字段中。 SID 可用于补充 UserIdentifier 字段并建立用户的凭证。
字段
- StrucId (MQCHAR4)
- 结构标识。值为:这是服务的输入字段。
- MQZIC_STRUC_ID
- 身份上下文结构的标识。
对于 C 编程语言,还定义了常量 MQZIC_STRUC_ID_ARRAY; 此值与 MQZIC_STRUC_ID 相同,但是字符数组而不是字符串。
- Version (MQLONG)
- 结构版本号。值为:
- MQZIC_VERSION_1
- Version-1 身份上下文结构。
以下常量指定当前版本的版本号:- MQZIC_CURRENT_VERSION
- 当前版本的身份上下文结构。
这是服务的输入字段。
- 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 */
};