[英]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.