在BTDF部署中配置WCF端口

时间:2017-05-19 10:52:12

标签: biztalk btdf

目前在BizTalk中配置WCF端口,我在PortBindingsMaster文件中提供了用户名和密码,任何人都可以看到。这是一个重大的安全漏洞。我希望保持我的用户名和密码加密,并且在BTDF部署时,它应该使用相应的用户名和密码配置相应的WCF端口。

我的当前WCF端口之一的CustomProps配置如下: -

     <CustomProps>
       <OrderedProcessing vt="11">0</OrderedProcessing>
       <BindingConfiguration vt="8">
         <binding   name="oracleDBBinding" pollWhileDataFound="true"/>
       </BindingConfiguration>
       <InboundBodyPathExpression vt="8" />
       <OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
       <AffiliateApplicationName vt="8" />
       <BindingType vt="8">oracleDBBinding</BindingType>
       <DisableLocationOnFailure vt="11">0</DisableLocationOnFailure>
       <InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
       <OutboundXmlTemplate vt="8">
         <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml" />
       </OutboundXmlTemplate>
       <IncludeExceptionDetailInFaults vt="11">0</IncludeExceptionDetailInFaults>
       <InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
       <CredentialType vt="8">UserAccount</CredentialType>
       <UserName vt="8">Adminxyz</UserName>
       <Password vt="8">angf123#%</Password>             
       <SuspendMessageOnFailure vt="11">0</SuspendMessageOnFailure>
     </CustomProps>

如您所见,我在PortBindingsMaster文件中提供用户名和密码。我不想在PortBindingsMaster文件中添加它。任何帮助将不胜感激。

注意: - 我还有一个约束,我甚至无法在我的环境设置文件中添加用户名和密码。

2 个答案:

答案 0 :(得分:1)

对于一个特定的客户端,我编写了一个WCF扩展(MessageInspector),它从SSO检索用户名和密码并将它们插入到请求中。

这将告诉您有关WCF消息检查员的更多信息:https://msdn.microsoft.com/en-us/library/aa717047(v=vs.110).aspx

这正是您从SSO存储/检索数据所需的: https://seroter.wordpress.com/2007/09/21/biztalk-sso-configuration-data-storage-tool/

您需要做的是使用该工具将值存储到SSO中。 然后,您的消息检查器将检索它们并将它们发送到请求中,然后再将它们发送出去。它们甚至不会显示在BizTalk跟踪中,因为它们只是在跟踪后才会被添加! (当时对我来说也是一个要求)。

在您需要部署的每个环境中,这些可能会有所不同。 它还为管理员提供了滚动/更改密码的可能性,而无需在绑定中配置或更改任何内容!

希望这有帮助, 彼得

答案 1 :(得分:1)

另一个选项也适用于SSO,但如果适配器有端口,则在端口上使用SSO Affiliate设置。查看我为How can I set SB-Messaging adapter credentials securely?

所做的答案

使用此方法,您可以将凭据作为Affiliate应用程序存储在SSO中,并将BizTalk凭据映射到目标凭据。您还需要创建一个SSO票证,但这可以通过BRE管道框架轻松完成。

此方法的一个优点是,您只需为每个环境创建和设置一次凭据,即使您使用BTDF取消部署和重新部署,它们也会持续存在。