Microsoft Dynamics CRM 和应用程序身份验证和授权

Microsoft Dynamics CRM and application authentication and authorization

Microsoft Dynamics CRM Online (2015) 是否具有对需要从所有 CRM 实体访问 CRM 数据记录的外部应用程序进行身份验证和授权的某些功能?

在我的例子中,外部应用程序是第 3 方 Windows 服务等,用于执行一些同步和自动化任务,这些应用程序没有任何用户界面或交互。应用可以访问 CRM SDK、OData 和 WCF/SOAP。

当然,基本解决方案是创建具有 CRM Pro 许可证的新 Office 365 用户,并使用此用户进行 API 访问。但是我想知道是否有任何类型的 "special user"。例如,SharePoint Online 和内部部署具有“SharePoint 应用程序身份验证和授权”。 CRM 2015 中有类似员工的方法吗?

用户有一个名为“访问模式”的设置,当设置为“非交互”时,用户不会使用许可证。这篇文章概述了如何为此类访问设置用户:

http://www.crminnovation.com/blog/crm-online-non-interactive-user/

使用 soap web 的 MS Dynamics CRM 身份验证 api

ClientCredentials credentials = new ClientCredentials();

credentials.UserName.UserName = "********";
credentials.UserName.Password = "********";
Uri serviceUri = new Uri("https://********.api.crm.dynamics.com/XRMServices/2011/Organization.svc");
credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Uri HomeRealm = null;
OrganizationServiceProxy proxy = new OrganizationServiceProxy(serviceUri, HomeRealm, credentials, null);
{
    _service = (IOrganizationService)proxy;
    //fields mapping with Dynamics crm entity fields

    //pushing the data to Dynamics crm using aspx page

    Entity contact = new Entity("contact");
    contact["firstname"] = txtFirstName.Text.ToString();
    Guid newContactId = _service.Create(contact);

    txtFirstName.Text = "";
}