通过代码(C#)使用Microsoft Dynamics CRM 2011(IFD)对用户进行身份验证

本文关键字:用户 IFD 身份验证 2011 Dynamics 代码 使用 Microsoft CRM | 更新日期: 2023-09-27 18:21:05

我在Azure中托管的Rollup 17上部署了面向互联网的Dynamics CRM 2011。

部署是根据Microsoft网站上提供的指南进行配置的(http://www.microsoft.com/en-us/download/details.aspx?id=41701)。

访问应用程序时,通过ADFS进行的身份验证工作正常,我可以成功访问它。

我还试图建立一个自定义的web应用程序,将连接到CRM。我已经下载了CRM 2011 SDK,并尝试运行''SDK''SampleCode''CS''QuickStart中的示例代码。但是,身份验证失败,出现以下错误:

请求通道在00:00:59.99969195之后等待答复时超时。增加传递给Request调用的超时值,或增加Binding上的SendTimeout值。分配给此操作的时间可能是较长超时的一部分

当进入内部异常详细信息时,我可以看到:

到的HTTP请求http://sts1.mydomain.com.au/adfs/services/trust/13/username'已超过分配的超时时间00:01:00。分配给此操作的时间可能是较长超时的一部分

我试图弄清楚为什么它试图通过HTTP访问用户名端点。当我打开ADFS服务器上的端口80时,它工作正常,我可以进行身份验证。然而,我不想打开端口80,我希望所有的通信都通过HTTPS!!

我尝试了谷歌找到的所有潜在解决方案,但都无济于事。

任何帮助都将不胜感激。

通过代码(C#)使用Microsoft Dynamics CRM 2011(IFD)对用户进行身份验证

我们曾与Microsoft支持人员合作,他们复制了我们的环境,以了解发生了什么。然而,对他们来说,身份验证请求将发送到usernamemixed端点,这应该是正确的行为,因为它使用HTTPS。

经过一些测试,我们决定禁用用户名端点,令我们惊讶的是,请求开始转到usernamemixed终点,现在一切正常。

因此,不确定为什么它没有像MS支持人员那样立即使用用户名混合端点,而是在禁用username终结点之后。我能看到的唯一区别是,他们使用的是Windows Server 2012 R2,而我们使用的是WindowsServer2012。