C#Crm 2011呼叫者未通过服务的身份验证

C#Crm 2011呼叫者未通过服务的身份验证,c#,dynamics-crm-2011,C#,Dynamics Crm 2011,我编写的代码表明,应用程序是由c#form application编写的。crm使用ssl运行 ClientCredentials credential = new ClientCredentials(); credential.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain"); Uri organizat

我编写的代码表明,应用程序是由c#form application编写的。crm使用ssl运行

      ClientCredentials credential = new ClientCredentials(); 
      credential.Windows.ClientCredential = new 
      System.Net.NetworkCredential("username", "password", "domain"); 
      Uri organizationUri = new Uri("https://serverAdress/Orgname/XRMServices/2011/Organization.svc");
      Uri homeRealUri = null;
      serviceProxy = new OrganizationServiceProx
(organizationUri, homeRealUri, credential, null);
                                serviceProxy.EnableProxyTypes();
我也试过这个版本

>  ClientCredentials Credentials = new ClientCredentials(); 
>     Credentials.Windows.ClientCredential.UserName ="<username>"; 
>     Credentials.Windows.ClientCredential.Password ="<password>";
>ClientCredentials=newclientcredentials();
>Credentials.Windows.ClientCredential.UserName=“”;
>Credentials.Windows.ClientCredential.Password=“”;
它不会引发任何异常,但serviceProxy无法进行身份验证。如何修复?
任何建议。

老问题,但这里是我的建议

请查看此处提供的示例代码:

只需更改以下条目即可满足您的需要

    private String _discoveryServiceAddress = "https://dev.crm.dynamics.com/XRMServices/2011/Discovery.svc";
    private String _organizationUniqueName = "OrganizationUniqueName";
    // Provide your user name and password.
    private String _userName = "username@mydomain.com";
    private String _password = "password";

    // Provide domain name for the On-Premises org.
    private String _domain = "mydomain";
控制台应用程序应该打印出来:登录的用户是“Firstname”“Lastname”。然后,您可以从以下位置获取OrganizationServiceProxy:

using (OrganizationServiceProxy organizationProxy =
                GetProxy<IOrganizationService, OrganizationServiceProxy>(orgServiceManagement, credentials))
使用(OrganizationServiceProxy)organizationProxy=
GetProxy(orgServiceManagement,凭据))

并使用它。

您的用户是否具有应用程序级别的权限?我知道这可能是显而易见的,但您尝试连接到CRM服务的用户是否实际是具有正确权限的CRM用户(例如,在同一域上)?就如何连接到CRM服务而言,上面的代码看起来没有问题。@PhilipRich,在服务器中安装的CRM上运行的应用程序,用户具有管理员权限。@KennethIto,用户具有应用程序级权限。我发现问题是,当我使用https访问时,用户未经过身份验证,但我仅使用http访问,用户已通过身份验证。如何解决此情况,@KennethIto,@Philip Rich