1

現在、SVRCONN チャネルのセキュリティ出口を実装しています。この出口は、LDAP (AD または UNIX) に対して認証を行います。出口の現在の実装は、MQ EXPLORER からの接続に対してのみ機能します。

接続してユーザー ID/PWD を渡すコードを作成すると、セキュリティ出口がクライアント マシンのユーザー アカウント ログインを取得します。

MQ への接続方法のスニペットを次に示します。

コード:

MQCNO ConnectOptions = {MQCNO_DEFAULT};
MQCD ClientConn = {MQCD_CLIENT_CONN_DEFAULT}; 
MQCSP mqCSP = {MQCSP_DEFAULT}; 
MQHCONN HConn; 
MQLONG CompCode; 
MQLONG Reason; 
char QMName[MQ_Q_MGR_NAME_LENGTH+1]="QMGRNAME"; 
char channelName[MQ_CHANNEL_NAME_LENGTH+1]="MY_CHANNEL"; 
char hostname[1024]="MQSERVER(PORT)"; 
char UserId[32+1]="MyID"; 
char Password[32+1]="MyPWD"; 
strncpy(ClientConn.ConnectionName, hostname, MQ_CONN_NAME_LENGTH); 
strncpy(ClientConn.ChannelName, channelName, MQ_CHANNEL_NAME_LENGTH); 
mqCSP.AuthenticationType = MQCSP_AUTH_USER_ID_AND_PWD; 
mqCSP.Version = MQCSP_VERSION_1; 
mqCSP.CSPUserIdPtr = &UserId; 
mqCSP.CSPUserIdOffset = 0; 
mqCSP.CSPUserIdLength = strlen(UserId); 
mqCSP.CSPPasswordPtr = &Password; 
mqCSP.CSPPasswordOffset = 0; 
mqCSP.CSPPasswordLength = strlen(Password); 
ConnectOptions.SecurityParmsPtr = &mqCSP; 
ConnectOptions.SecurityParmsOffset = 0; 
ConnectOptions.ClientConnPtr = &ClientConn; 
ConnectOptions.Version = MQCNO_VERSION_5; 
MQCONNX (QMName, &ConnectOptions, &HConn, &CompCode, &Reason);

次に、このコードを使用して、セキュリティ出口でユーザー ID/PWD を取得します。コード:

memset (User, 0, pChDef->LongRemoteUserIdLength);
memset (Pass, 0, MQ_PASSWORD_LENGTH); 
MakeCString(User,pChDef->LongRemoteUserIdPtr,pChDef->LongRemoteUserIdLength); 
MakeCString(Pass,pChDef->RemotePassword,MQ_PASSWORD_LENGTH); 

MQ サーバー -> 7.1.0.2

4

1 に答える 1