1

Microsoft CRM 4.0 Web サービス API を使用して (ユーザー名とパスワードを指定して) ユーザーを認証する方法を探しています。理想的には、ログインしているユーザーがアクセスできるプロジェクトに基づいて、プロジェクトのリストを絞り込みたいと思います。2番目の部分を理解できるかもしれませんが、ユーザーを認証する方法が見つかりません. 現在、Web サービスですべての cal が行われている方法は次のとおりです。

MyWebServices.CrmService svc = new MyWebServices.CrmService();
MyWebServices.CrmAuthenticationToken token = new MyWebServices.CrmAuthenticationToken();
token.OrganizationName = "MyCRM";
token.AuthenticationType = 0;
svc.CrmAuthenticationTokenValue = token;
svc.PreAuthenticate = true;
svc.Credentials = System.Net.CredentialCache.DefaultCredentials;
svc.Credentials = new NetworkCredential("hj", "mypass", "mydomain");

その後、サービスを介して電話をかけることができます。ユーザーのユーザー名/パスワードを介して CRM への認証を試行できる可能性があると思いますが、どういうわけか間違っているように感じます。

4

1 に答える 1

1

オンプレミス環境にいる場合は、次のコードを使用して、プロジェクトの取得に使用できる有効なCRMサービスを取得できるはずです。

public static Microsoft.Crm.SdkTypeProxy.CrmService GetCrmService(string crmServerUrl, string organizationName, System.Net.NetworkCredential networkCredential)
{
    // Setup the Authentication Token
    CrmAuthenticationToken crmAuthenticationToken = new CrmAuthenticationToken
                                           {
                                               OrganizationName = organizationName,
                                               AuthenticationType = 0
                                           };

    var crmServiceUriBuilder = new UriBuilder(crmServerUrl) { Path = "//MSCRMServices//2007//CrmService.asmx" };

    // Instantiate a CrmService
    var crmService = new Microsoft.Crm.SdkTypeProxy.CrmService
    {
        Url = crmServiceUriBuilder.ToString(),
        UseDefaultCredentials = false,
        Credentials = networkCredential,
        CrmAuthenticationTokenValue = crmAuthenticationToken
    };

    return crmService;
}
于 2011-06-11T07:37:14.157 に答える