摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复272或者20180616可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me 。

人不学不知道,我以前也不知道Dynamics 365 Customer Engagement (就是Dynamics 365的CRM部分功能)中还有非交互式这种账号,今天我们一起来看看吧。

首先我们在Office 365管理门户( https://portal.office.com )中像建立普通用户一样建立一个账户,给他授予一个许可证,这样他才会同步到Dynamics 365 Customer Engagement中去。

一会儿你在Office 365管理门户的【账单】 > 【许可证】中就会看到你刚才授予的这种许可证的分配数量增加了1,也就是占用了一个许可。在Dynamics 365 Customer Engagement中也可以看到这个用户了。我们先为它分派一个角色,我这里分派为系统管理员,然后我用这个账户使用浏览器登录Dynamics 365 Customer Engagement,你可以看到是可以登录的。

现在我们在Dynamics 365 Customer Engagement > 【设置】 > 【安全性】 > 【用户】中将这个用户账号的【访问模式】设置为【非交互式】,然后保存。

然后我在用这个账户使用浏览器来登录Dynamics 365 Customer Engagement,登录后提示如下:您对此组织仅具有 SDK 访问权限。您没有查看、创建、编辑或删除数据的必要权限。请联系您的 Microsoft Dynamics 365 管理员寻求帮助。

我们现在去Office 365管理门户中将这个用户的许可取消,待到【账单】 > 【许可证】该用户使用的许可证类型分配数量增加1后,我们再去Dynamics 365 Customer Engagement中查看这个用户,你会发现该用户并没有被禁用,状态还是已启用。若是普通的用户账户,取消许可后该账户的状态将会变成禁用,不能使用。

不能通过浏览器登录Dynamics 365 Customer Engagement,但是它能够通过SDK的方式来做操作。我这里用简单的代码来登录并执行消息是可以的:

                IServiceManagement<IOrganizationService> orgServiceManagement = ServiceConfigurationFactory.CreateManagement<IOrganizationService>(new Uri("https://luoyongdemo.api.crm5.dynamics.com/XRMServices/2011/Organization.svc"));
AuthenticationCredentials authCredentials = new AuthenticationCredentials();
authCredentials.ClientCredentials.UserName.UserName = "noninteractiveuser@luoyongdemo.onmicrosoft.com";
authCredentials.ClientCredentials.UserName.Password = "Pass@w0rd1";
using (OrganizationServiceProxy organizationProxy = GetProxy<IOrganizationService, OrganizationServiceProxy>(orgServiceManagement, authCredentials))
{
WhoAmIRequest whoAmIReq = new WhoAmIRequest();
var whoAmIRep = organizationProxy.Execute(whoAmIReq) as WhoAmIResponse;
var userEntity = organizationProxy.Retrieve("systemuser", whoAmIRep.UserId, new ColumnSet("fullname"));
Console.WriteLine(string.Format("登录成功,欢迎{0},继续操作请输入y!", userEntity.GetAttributeValue<string>("fullname")));
}
Console.WriteLine("程序运行成功!");
Console.ReadKey();

这是程序运行后的截图:

但是,如果根据我前面的文章 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API 来做的话会报错如下,因为这篇文章使用非交互式账号登录是不行的。

AADSTS65001: The user or administrator has not consented to use the application with ID '7a092321-a423-4dc0-b1b3-9801898dec32' named 'LuoYong Demo'. Send an interactive authorization request for this user and resource.

通过前面的演示,我觉得可以总结下:

1. 可以节省许可费用,一个许可每年都要收钱,节约一个是一个,为客户着想省钱,提升项目的投入产出比。

2. 因为非交互式账号不能通过浏览器登录Dynamics 365 Customer Engagement,相对更安全一些。拿到这个账号的密码,没有Dynamics  365 Customer Engagement开发能力的也做不了什么。

3. 此类账户专门为Dynamics 365 Customer Engagement 与其它系统,如ERP等集成使用,妥妥的。

当然有一个值得注意的地方就是一个CRM Online实例最多只能允许存在5个非交互式账号。

Dynamics 365中的非交互式账号(Non-interactive User)介绍的更多相关文章

  1. 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  2. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  3. Dynamics 365中的应用程序介绍

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  4. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  5. Dynamics 365工作流报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  6. Dynamics 365中开发和注册插件介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  7. Dynamics 365中部分账号使用系统明显缓慢怎么办?先这么干!

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复263或者20170828可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  8. Dynamics 365中的Client API form context (formContext)

    适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...

  9. Dynamics 365中自定义工作流活动获取的上下文分析及注意事项

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复244或者20170306可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

随机推荐

  1. 【面试篇】资深招聘HR有哪些面试技巧?

    15年资深招聘HR总结的面试技巧     1.做一下自我介绍 了解应聘者的基本信息和工作经历 2.以往工作中您的职责是什么? 了解应聘者的相关工作经验和其系统性全面性 3.请讲一下您以往的工作经历. ...

  2. Batch入门教程丨第一章:部署与Hello World!(下)

    在上期分享的内容中,我们已经掌握了基础理论知识,今天我们将继续了解和学习与Windows Batch有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,从而能够更 ...

  3. [Swift]LeetCode7. 反转整数 | Reverse Integer

    Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...

  4. 14.Git分支-rebase有趣的例子、变基带来的问题及解决方案

    1.有趣的变基例子 如下图所示,你创建了一个特性分支server,然后进行了一些提交(C3和C4),然后又从C3上创建了特性分支client,提交了C8和C9,最后你又回到了server,提交了C10 ...

  5. 我要曝光!CDN 省钱大法!

    七夕节刚过去,小明却特别郁闷,因为七夕当天,他错过了和远在北京的女神表白的机会.事情的经过是怎样的呢?为了在七夕当天送给自己女神一件礼物,小明在某购物网站上花重金购买了特别的礼物,礼物是从广东发送,结 ...

  6. Xcode 命令行工具 Command Line Tools

    xcode命令行工具包是一个小型独立包,可供下载独立于Xcode的和允许您执行命令行开发OS X. 在OS X10.9,就以及没有clt的下载安装包了,需要使用命令在线安装. xcode-select ...

  7. qt delete

        在写博文之前,先推荐一篇文章,我觉着挺不错,也是qt中delete相关:QT父子与QT对象delete     学习C++的童鞋都知道new和delete必须是同时出现的,否则就会导致内存泄露 ...

  8. MyBatis 分页插件 PageHelper 使用

    1.  引入Maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  9. 《HelloGitHub》第 12 期

    <HelloGitHub>第 12 期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览 GitHub 过程中,发现的有意思.高 ...

  10. spring boot MySQL极简封装

    摒弃繁琐配置,采用极简方式,源码简单,调用丰富,无污染,易携带,工作量减半,java操作mysql居家旅行升职加薪登上人生巅峰迎娶白富美必备object! 项目地址:https://gitee.com ...