【发布时间】:2017-10-25 05:46:24
【问题描述】:
当我尝试连接(写入)IBM WebSphere MQ v8 时,无论我做什么,它总是会出错(2035 未授权),因为 MQQueueManager 连接看起来正在使用正在运行应用程序服务的用户(Windows x64 server 2012) 而不是我在哈希表中设置的MQC.PASSWORD_PROPERTY。
MQ 与我的库 (v8) 版本相同,具有ADOPTCTX(YES),我们执行了REFRESH SECURITY TYPE(CONNAUTH)。为属性设置我的哈希表如下:
MQ_PROPERTIES = New Hashtable()
MQ_PROPERTIES.Add(MQC.HOST_NAME_PROPERTY, MQ_HOSTNAME)
MQ_PROPERTIES.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED)
MQ_PROPERTIES.Add(MQC.PORT_PROPERTY, MQ_PORT)
MQ_PROPERTIES.Add(MQC.CHANNEL_PROPERTY, MQ_CHANNEL_NAME)
MQ_PROPERTIES.Add(MQC.USER_ID_PROPERTY, MQ_USERNAME)
MQ_PROPERTIES.Add(MQC.PASSWORD_PROPERTY, MQ_PASSWORD)
MQ_PROPERTIES.Add(MQC.USE_MQCSP_AUTHENTICATION_PROPERTY, True)
开始时:
Using queueManager As New MQQueueManager(MQ_QUEUE_MANAGER, MQ_PROPERTIES)
编辑/更新:
{windows app user} = 运行应用服务的帐户。
dll 全部 v 8.0.0.4
mq 日志中的错误(没有直接访问权限,但提供):
AMQ9557: Queue Manager User ID initialization failed for '{windows app user}'.
EXPLANATION:
Cause . . . . . : The call to initialize the User ID '{windows app user}' failed
with CompCode 2 and Reason 2035.
Recovery . . . : Correct the error and try again.
----- cmqxrsrv.c : 2356 -------------------------------------------------------
************End of Data********************
CONNAUTH 设置为 SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP。 IDPWLDAP 和 IDPWOS 的设置如下:
5 : dis AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AMQ8566: Display authentication information details.
AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AUTHTYPE(IDPWLDAP) ADOPTCTX(YES)
DESCR( ) CONNAME( )
CHCKCLNT(REQUIRED) CHCKLOCL(OPTIONAL)
CLASSUSR( ) FAILDLAY(1)
BASEDNU( ) LDAPUSER( )
LDAPPWD( ) SHORTUSR( )
USRFIELD( ) SECCOMM(NO)
ALTDATE(2017-10-20) ALTTIME(16.38.55)
2 : dis AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566: Display authentication information details.
AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AUTHTYPE(IDPWOS) ADOPTCTX(YES)
DESCR( ) CHCKCLNT(OPTIONAL)
CHCKLOCL(OPTIONAL) FAILDLAY(1)
ALTDATE(2017-10-23) ALTTIME(13.50.20)
【问题讨论】:
标签: .net authentication ibm-mq