从Dynamics 365插件访问非Azure Web API(在IIS中本地托管)

问题描述 投票:0回答:1

大家早上好,

我正在尝试从Dynamics 365插件中从本地承载的(在IIS中)Web API中提取数据。我将Web API设置为使用“个人用户帐户”,并使其公开可用。当我对其进行测试时,这在Postman中可以正常工作,因为我可以正确地使用令牌,然后将该令牌用于查询。

我的想法是,在插件中,我将使用HttpWebRequest请求令牌,然后将该令牌用于以后的查询。

我的问题是,当我尝试在插件注册工具中运行代码时遇到安全错误,我根本无法从Dynamics 365插件调用该Web API。这是我对该主题的研究成果。

1。)我无法访问Web API,因为我尚未将其注册为“ Microsoft Azure Web App”。我的问题是,由于我们不打算使用Azure(并且我不确定它是否符合该项目的安全规范),因此“我必须在Azure上注册吗?”

下面的引用来自MSDN,主题是插件中的Web服务调用。我不确定自己的设置中缺少什么/违反了什么。

Web访问

沙盒化插件和自定义工作流程活动可以通过HTTP和HTTPS协议访问网络。此功能为访问流行的Web资源(如社交网站,新闻提要,Web服务等)提供了支持。以下Web访问限制适用于此沙盒功能。

仅允许使用HTTP和HTTPS协议。

不允许访问本地主机(环回)。

无法使用IP地址。您必须使用需要DNS名称解析的命名网址。

支持并建议使用匿名身份验证。没有规定提示登录的用户输入凭据或保存这些凭据。

2。)我发现很多人说,由于我的插件被沙盒化,所以插件注册工具将始终抛出安全错误。每个人都只是使用跟踪日志来调试吗?

3。)我一直在研究Dynamics 365 Web挂钩的使用,但我需要此插件才能在“ RetrieveMultiple”事件上执行。我可以使用D365 Web挂钩吗?

非常感谢大家的帮助。祝你有美好的一天。

azure asp.net-web-api2 microsoft-dynamics dynamics-365
1个回答
0
投票

您的网络服务应具有公共可访问的https-URL,因此Dynamics 365可以从任何地方访问它。您应该通过登录机制来保护Web服务。

作为测试,安全性和配置建议,您不应在插件代码中添加url,用户名和密码,而应在crm记录中对其进行配置。因此,您可以在其他Web服务实例上进行开发和测试,并且您的生产实例将连接到正确的Web服务,而无需在部署前更改代码。

© www.soinside.com 2019 - 2024. All rights reserved.