簡體   English   中英

使用 MS Crm Web 服務進行身份驗證

[英]Authenticate with MS Crm Web Service

我正在尋找一種通過 Microsoft CRM 4.0 Web 服務 API 對用戶進行身份驗證的方法(給定用戶名和密碼)。 理想情況下,我想根據登錄用戶有權訪問的項目來篩選項目列表。 我可能能夠弄清楚第二部分,但我找不到對用戶進行身份驗證的方法。 目前在 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 進行身份驗證,但不知何故感覺不對。

如果您在本地環境中,您應該能夠使用以下代碼來獲取可用於檢索您的項目的有效 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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM