Dynamics crm 我如何在CRM中创建一个网页,为IFD和内部部署提供web服务?

Dynamics crm 我如何在CRM中创建一个网页,为IFD和内部部署提供web服务?,dynamics-crm,dynamics-crm-4,crm,Dynamics Crm,Dynamics Crm 4,Crm,我们有三台服务器共享同一个数据库。一台服务器面向互联网 我在CRM的IFRAME中有一个网页,它使用标准的本地连接方法与CRM web服务进行对话。当此IFRAME通过IFD显示,用户通过forms authentication元素登录时,系统会要求您提供登录凭据 我该怎么做 编辑 以CRM服务为目标的IFRAME位于四台服务器上。其中两台服务器用于IFD和内部使用。其他两个仅适用于前提条件。它们都在同一个域中。所有用户都是内部用户,如果他们正在使用客户的计算机或网吧中的机器,则可以通过web登

我们有三台服务器共享同一个数据库。一台服务器面向互联网

我在CRM的IFRAME中有一个网页,它使用标准的本地连接方法与CRM web服务进行对话。当此IFRAME通过IFD显示,用户通过forms authentication元素登录时,系统会要求您提供登录凭据

我该怎么做

编辑


以CRM服务为目标的IFRAME位于四台服务器上。其中两台服务器用于IFD和内部使用。其他两个仅适用于前提条件。它们都在同一个域中。所有用户都是内部用户,如果他们正在使用客户的计算机或网吧中的机器,则可以通过web登录,因此无法使用VPN。

一些问题可以更好地了解您的问题。以CrmService为目标的iframe是否在同一IFD服务器上?IFD服务器是否与其他服务器位于同一域中?当你说用户已登录时,你是在推荐本地域用户还是外部用户?

我怀疑问题不在于服务,而在于IFrame。当您通过本地身份验证向MSCRM进行身份验证时,您正在执行Windows身份验证,并且当您需要再次执行身份验证请求时,您应该返回IFrame。因为浏览器知道它所需要的一切,所以这一切都是透明处理的

使用IFD时,您没有在web服务器级别使用身份验证,而是在应用程序级别使用基于表单的身份验证。但您仍然需要验证IFrame,因此IFrame会提示进行验证

如果您遇到服务问题,IFrame将显示,并且触发服务调用的任何操作都将失败,并出现400或500错误


因此,问题在于如何构建一个能够满足windows身份验证和基于表单的web页面?这在MSCRM中很简单,首先确保您没有在网页上运行身份验证-将其设置为匿名。这样可以确保不再出现弹出窗口,然后确保使用CrmAuthenticationToken代码来获取令牌并将其用于所有调用。您不应设置服务本身的.Credentials属性

假设您是在CRM网站中部署页面,而不是在其自己的虚拟目录中部署页面,那么这里将向您介绍Robert提到的SDK文章:

请参阅SDK主题:从ASPX页面进行身份验证

根据我的经验,您应该始终在CRM网站的网页中使用CRMImpersonator

现在,如果您在自己的网站上运行自己的页面: 您需要查看发现服务并获取访问服务的CRM票证