[IIB SOAP用户密码在提供者端进行身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[IIB SOAP用户密码在提供者端进行身份验证相关的知识,希望对你有一定的参考价值。

我正在跟踪SOAP Web服务使用者的链接https://www.ibm.com/developerworks/websphere/library/techarticles/1505_kumar/1505_kumar.html。我正在申请SOAP Web服务提供者的相同方法。我想在esql中访问用户名和密码以验证使用者和提供者。有什么方法可以从ESQL中的SecurityProfiles可配置服务访问提供者的用户名和密码,以便可以使用使用者凭证进行验证。用户名和密码是计划文本。

我已经完成了以下操作1.制定的政策2.创建的绑定3.创建的用户ID和安全配置文件

mqsisetdbparms SBBROK -n SecurityID -u sbuser -p sb.123456mqsicreateconfigurableservice SBBROK -c安全配置文件-oWSSecurityProfile -n“传播,idToPropagateToTransport,transportPropagationConfig” -v“ TRUE,STATIC ID,SecurityID”

  1. SOAPInput节点上的已配置Bar文件和集(策略,绑定和安全配置文件)。
  2. 部署我的流程

[此后,我假设在这些提供者策略上具有约束力,个人资料。提供者可以验证消费者的用户名和密码。

我正在使用IIB版本10.0.0.15。

答案

我不确定我是否完全理解这个问题。

我只能告诉您以下内容:由调用您的服务的人提供的凭据将存储在此位置:紧随输入节点之后的Properties / IdentitySourcePassword和Properties / IdentitySourceToken。

如果未设置为静态,则您正在执行的SOAP请求也将在此位置使用凭据。否则,它将在mqsisetdbparms命令中使用定义的用户密码。

因此您可以像这样访问ESQL代码中的输入凭据:

SET callerUser=InputRoot.Properties.IdentitySourceToken;
SET callerPassword=InputRoot.Properties.IdentitySourcePassword;

对于通过mqsisetdbparms存储的凭据,我不知道有什么访问方法,老实说,我看不出要点。

一种解决方案,如果您确实需要此解决方案,那就是通过动态的方式更改您的静态用户名/密码,然后在类似这些位置的ESQL中直接设置它:

SET myUser = 'Username'
SET myPassword = 'Password123'
SET callerUser=InputRoot.Properties.IdentitySourceToken;
SET callerPassword=InputRoot.Properties.IdentitySourcePassword;
##The comparison you want to do here
SET OutputRoot.Properties.IdentitySourcePassword = myPassword 
SET OutputRoot.Properties.IdentitySourceToken= myUser 

当然,对用户/密码进行硬编码不是正确的解决方案,它只是一个示例,但是您可以轻松地将其存储在数据库中,并从ESQL中进行检索

以上是关于[IIB SOAP用户密码在提供者端进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:针对远程检查凭据的系统进行身份验证

Java Active Directory LDAP - 使用密码哈希对用户进行身份验证

使用第 3 方 Oauth 提供程序对 API 用户进行身份验证 [关闭]

WCF SOAP 1.1 和 WS-Security 1.0、客户端证书传输身份验证、消息正文签名的服务证书、用户名令牌、密码摘要、随机数

Membership 介绍

KeyCloak 中的自定义提供程序,可以根据用户名和密码进行身份验证