Episerver Salesforce连接器配置保存在哪里?
使用运行带有Salesforce附加组件的Episerver的站点将Episerver表单绑定到Salesforce。我在episerver后端的salesforce connector配置屏幕中输入salesforce用户的用户名/密码/令牌,它会保存我的凭据。我导航到表单,现在可以看到要将表单字段映射到的salesforce字段 问题是salesforce连接配置一直在消失。在episerver admin中返回salesforce连接器配置,或转到表单并尝试映射字段时,salesforce连接消失,并且不再映射我的字段。如果我重新添加连接,字段映射将返回。此配置保存在数据库中的何处?是什么导致它被覆盖?有没有办法在web配置中配置默认值 相关套餐详情: epserver.CMS-v11.11.3 epserver.MarketingAutomationIntegration.Salesforce-v4.2.0 epserver.Marketing.Automation.Forms-v2.1.0 编辑: 看起来salesforce连接器设置已保存到dbo.tblBigTable和dbo.tblBigTableReference。当我在本地运行项目时,这些记录会在项目启动时被清除,但仍然不知道为什么。我可以在不清除这些记录的情况下重新启动dev服务器: 运行类似于以下内容的程序将显示连接器名称部分的保存位置。这些表中可能有其他配置字段的条目Episerver Salesforce连接器配置保存在哪里?,salesforce,episerver,Salesforce,Episerver,使用运行带有Salesforce附加组件的Episerver的站点将Episerver表单绑定到Salesforce。我在episerver后端的salesforce connector配置屏幕中输入salesforce用户的用户名/密码/令牌,它会保存我的凭据。我导航到表单,现在可以看到要将表单字段映射到的salesforce字段 问题是salesforce连接配置一直在消失。在episerver admin中返回salesforce连接器配置,或转到表单并尝试映射字段时,salesforce
select * from dbo.tblBigTable where String01 like '%my-connector-name%'
从dbo.tblBigTableReference中选择*,其中StringValue类似于“%my connector name%”
Type | PropertyName | CollectionType | ElementType | StringValue
3 | ActiveConnectors |
System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
my-connector-name
问题原因: 我最终不得不反编译epserver的源代码来发现问题。事实证明,问题出在EPiServer的EPiServer.Marketing.Connector.Framework.MarketingConnectorManager.GetConnectorCredentials方法中,因此这可能不是Salesforce连接器特有的,而是任何营销连接器。问题是,当在我们的开发环境中创建凭据时,它们在数据库中被加密。当稍后在本地实例中获取凭据时,将尝试解密凭据。如果凭据无法解密,EPiServer将删除它们,而不是抛出错误或说找不到有效凭据 解决方法: 要解决此问题,可以向web.config添加machineKey标记,以便在本地和开发环境之间共享解密密钥:
<system.web>
<machineKey validationKey="YOUR_VALIDATION_KEY_HERE" decryptionKey="YOUR_ENCRYPTION_KEY_HERE" validation="SHA1" decryption="AES" />
....
</system.web>
....
我们在本地运行站点,并使用与开发环境相同的数据库。似乎每当有人在本地运行该站点时,这些信息就会被清除。我还注意到,salesforce模块在此处有一个配置文件,但在该文件中没有看到太多关于配置的内容:\solution\CMS\modules\u protected\Episerver.Marketing.Connector.salesforce\module.config连接器的文档现已由Episerver团队更新,以包括详细的加密说明:
<system.web>
<machineKey validationKey="YOUR_VALIDATION_KEY_HERE" decryptionKey="YOUR_ENCRYPTION_KEY_HERE" validation="SHA1" decryption="AES" />
....
</system.web>