현재 SVRCONN 채널에 대한 보안 종료를 구현 중입니다. 이 exit는 LDAP (AD 또는 UNIX)에 인증됩니다. 현재 exit 구현은 MQ EXPLORER에서 오는 연결 만 작동합니다.WMQ 보안 종료 사용자 ID/PWD 전달 문제
userID/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 서버 ->
blockquote 대신 코드에 대한 코드 마크 업을 사용하십시오. '>'를 제거하고 4 개의 공백으로 대체하십시오. – laalto
@laalto 완료되었습니다. – user2527267