摘要: 本人微信和易信公众号: 微软动态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. 从零开始学深度学习mxnet教程:安装以及基本操作

    一.导言 本教程适合对人工智能有一定的了解的同学,特别是对实际使⽤深度学习感兴趣的⼤学⽣.⼯程师和研究⼈员.但本教程并不要求你有任何深度学习或者机器学习的背景知识,我们将从头开始解释每⼀个概念.虽然深 ...

  2. Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释

    一.线程5种状态 新建状态(New) 新创建了一个线程对象. 就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获 ...

  3. SSL/TLS握手过程

    ----------------------------------专栏导航----------------------------------HTTPS协议详解(一):HTTPS基础知识 HTTPS ...

  4. [SQL]LeetCode627. 交换工资 | Swap Salary

    SQL架构 create table ), sex ), salary int) Truncate table salary insert into salary (id, name, sex, sa ...

  5. [Swift]LeetCode1003. 检查替换后的词是否有效 | Check If Word Is Valid After Substitutions

    We are given that the string "abc" is valid. From any valid string V, we may split V into ...

  6. [Swift]LeetCode353. 设计贪吃蛇游戏 $ Design Snake Game

    Design a Snake game that is played on a device with screen size = width x height. Play the game onli ...

  7. CoCos2dx开发:PC端调试运行正常但打包apk文件后在手机上点击闪退

    记:今天调试时出现的一个PC端调试运行正常,但打包apk文件后在手机上点击闪退的问题. 可能在不同的情况条件下,会有不同的原因导致apk安装后闪退问题.拿android studio等软件来说,开发安 ...

  8. 如何看待Google欲回归中国事件

    最近一条新闻刷爆了朋友圈: 8 月 6 日,<人民日报>在它位于 Facebook.Twitter 社交媒体平台的官方账号上发布了一篇标题为<Stability prerequisi ...

  9. Linux suse 11 sp1 安装教程

    在 VMware Workstation Pro 中打开 iso 文件,进入主界面,选择 installation : 语言选择 简体中文,键盘选择 美国US ,选择下一步,点击继续: 选择 全部安装 ...

  10. 在ASP.NET Core中获取客户端IP地址

    随着ASP.NET的发展,有不同的方式从请求中访问客户端IP地址.WebForms和MVC Web应用程序只是访问当前HTTP上下文的请求. var ip = HttpContext.Current. ...