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

时间:2015-02-09 14:48:16

标签: authentication authorization dynamics-crm dynamics-crm-online dynamics-crm-2015

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

使用soap web api进行MS Dynamic CRM身份验证

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 Dynamic crm entity feilds

    //pushing the data to Dynamic crm using aspx page

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

    txtFirstName.Text = "";
}