我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复374或者20191104可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!

我们知道,一个Dynamics 365用户至少要授予一个角色才有可能登录Dynamics 365,那么这个角色至少要有哪些权限呢?我这里使用的本地部署版本是Microsoft Dynamics 365,版本 1612 (9.0.7.8) (DB 9.0.7.8) (本地) 来验证。但是官方文档推荐的做法是克隆一个现有角色修改来适配,本文只是一个探索,不要用于生产项目。

如果是使用以Common Data Service为基础的model-driven app,可以参考 Configure environment security 中的 Minimum privileges to run app 章节,下载一个名称为 MinprivilegeSecRole 的非托管解决方案,下载网址是 Common Data Service minimum privilege security role ,导入系统后会有一个名称为 min priv apps use 的角色,可以根据这个来克隆出定制的角色。

我在根业务部门上新建一个角色,名称为 Mini Role

我先只授予该角色对用户(systemuser)实体的读取权限,然后将这个角色授予我新建的一个用户,该用户只有这个角色。

然后我用这个用户去登录Dynamics 365,应该会报错,如下图:

按F12,可以看到部分请求出错,如下图:

具体查看这两个请求的返回,可以知道缺少权限prvReadSystemForm 和 prvReadUserEntityUISettings 。如何找到对应的权限呢?官方有个文档 Security role UI to privilege mapping 。从这个文档可以知道,prvReadSystemForm 对应的是【自定义】Tab中【系统窗体】实体的读权限。

prvReadUserEntityUISettings 权限对应的是【核心记录】Tab中【用户实体UI设置】的读取权限,实际上还应该给予角色对这个实体的创建、修改权限(prvCreateUserEntityUISettings 和prvWriteUserEntityUISettings)。

因为首页要打开仪表盘,也报错,/_common/error/errorhandler.aspx?BackUri=https%3a%2f%2fdemo.luoyong.me%2fmain.aspx&ErrorCode=0x80040220&Parm0=%0d%0a%0d%0a%e9%94%99%e8%af%af%e8%af%a6%e7%bb%86%e4%bf%a1%e6%81%af%3a%20Principal%20user%20%28Id%3dc7345a98-11ff-e911-a85b-000d3a6f652b%2c%20type%3d8%29%20is%20missing%20prvReadQuery%20privilege%20%28Id%3d902d70d3-2ff8-4d93-92f9-8efdcf889af8%29&RequestUri=%2fworkplace%2fhome_dashboards.aspx%3fsitemappath%3dSFA%257cMyWork%257cnav_dashboards%26pagemode%3diframe&user_lcid=2052 ,这个翻译过来就是 错误详细信息: Principal user (Id=c7345a98-11ff-e911-a85b-000d3a6f652b, type=8) is missing prvReadQuery privilege (Id=902d70d3-2ff8-4d93-92f9-8efdcf889af8)&RequestUri=/workplace/home_dashboards.aspx?sitemappath=SFA%7cMyWork%7cnav_dashboards&pagemode=iframe&user_lcid=2052" .

prvReadQuery 对应【自定义】Tab中的【查看】的读取权限。

如果要看到活动,请授予【核心记录】tab中【活动】实体的读取权限。

一般应该授予用户能查看及更改自己的选项,需要则需要授予【业务管理】Tab中【用户设置】的读和写权限(prvReadUserSettings 和 ):

还需要授予【自定义】中【Web资源】、【关系】、【字段】、【实体】、【实体键】、【选项集】的读取权限。

还需要授予【自定义】Tab中【流程】实体的读取权限。

若是提示缺少 prvReadComplexControl 权限,需要授予【自定义】Tab中【流程配置】的读权限。

因为表单默认有公告(Post),所以最好还授予对【核心记录】这个Tab中【公告】实体的读取权限,因为有两个公告,这里用到的是没有写权限可以设置的那个【公告】实体。

如果要可以使用如下所示的公共图表:

需要授予角色对【自定义】Tab中【系统图表】的读取权限。

一般还应该授予用户prvReadTraceLog权限,对应于【核心记录】Tab的【跟踪】实体的读取权限。

要让公告实体好用,还需要对【核心记录】Tab中【关注】实体(postfollow)的读取权限。【自定义】Tab中【筛选器】实体的读取权限(prvReadmsdyn_wallsavedqueryusersettings),【留言板视图】实体的读取权限,【核心记录】中【操作卡】实体的读取权限,

如果用户需要自己能创建私有视图,则需要【核心记录】Tab中【已保存的视图】实体(UserQuery) 有读和创建权限。

如果要能自己创建和读取【用户图表】实体(UserQueryVisualization) ,则需要对【核心记录】Tab中【用户图表】实体有读和创建权限。

若是需要对【用户仪表板】实体(UserForm),则需要对【核心记录】Tab中【用户仪表板】实体有读和创建权限。

若用户需要有导出数据到Excel的权限,就需要授予【业务管理】Tab中【导出至Excel】这个权限,值得注意的是这个权限是个杂项权限,没有与某个实体关联。

探索Dynamics 365 用户能够登录使用的最小权限需求的更多相关文章

  1. Dynamics 365需要的最小的权限用来更改用户的业务部门和角色

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

  2. 轻量级应用程序Dynamics 365 App for Outlook介绍

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

  3. asp.net mvc 自定义全局过滤器 验证用户是否登录

    一般具有用户模块的系统都需要对用户是否登录进行验证,如果用户登录了就可以继续操作,否则退回用户的登录页面 对于这样的需求我们可以通过自定义一个独立的方法来完成验证的操作,但是这样代码的重复率就大大提高 ...

  4. AD 域中给AD 用加登录本地计算的权限

    说明:一般新添加的AD 用户没有登录计算机电脑的权限,如果需要添加登录权限. 步骤:1.打开Active Directory 用户和计算机 步骤:2.打开某个用户 步骤3; 如下图.

  5. 如何让用户登录Dynamics 365 Customer Engagement后自动登录到Unified Interface App?

    微软动态CRM专家罗勇 ,回复324或者20190422可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Dynamics 365 Customer Engagement ...

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

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

  7. Dynamics 365 Online用户密码三问及其解答

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

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

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

  9. 做了面向互联网部署的Dynamics 365 CE更改AD FS的登录页面

    摘要: 微软动态CRM专家罗勇 ,回复306或者20190307可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 默认情况下A ...

随机推荐

  1. v-bind和v-model的本质区别和作用域

    每篇一句 一场寂寞凭谁诉.算前言,总轻负. Vue视图数据展示方式和彼此的区别: {{插值表达式}} {{}}插值表达式里面 只能写表达式,不能写语句 文本输出,不会解析标签 不能作用在标签的属性上, ...

  2. js-Date()对象,get/setFullYear(),getDay()编程练习

    啥也不说!看代码 主要注意:getday()方法中原理!!! <!DOCTYPE html> <html lang="en"> <head> & ...

  3. markdown使用方法介绍

    markdown使用方法介绍 最近在更新微信公众号的时候发现有很多格式无法编辑尤其是涉及到代码的,每次都要截图贴上去,费时费力.穷则生变,研究了markdown格式,果然豁然开朗,一片新的天地瞬间打开 ...

  4. 使用ASP.NET Core 3.x 构建 RESTful API - 3.3 状态码、错误/故障、ProblemDetails

    HTTP状态码 HTTP状态码会告诉API的消费者以下事情: 请求是否执行成功了 如果请求失败了,那么谁为它负责 HTTP的状态码有很多,但是Web API不一定需要支持所有的状态码.HTTP状态码一 ...

  5. hdu1710 Binary Tree Traversals

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1710 题意:给前序.中序求后序,多组 前序:根左右 中序:左右根 分析:因为前序(根左右)最先出现的总 ...

  6. 2018 ICPC南京网络赛 Set(字典树 + 合并 + lazy更新)

    题解:n个集合,你要进行m个操作.总共有3种操作.第一种,合并两个集合x和y.第二张,把特定的集合里面所有的数字加一.第三种,询问在某个集合里面,对于所有数字对2的k次方取模后,有多少个数字等于x. ...

  7. BZOJ1014 火星人的prefix

    火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字 ...

  8. (全国多校重现赛一)A-Big Binary Tree

    You are given a complete binary tree with n nodes. The root node is numbered 1, and node x's father ...

  9. 【算法】273-每周一练 之 数据结构与算法(Tree)

    这是第六周的练习题,最近加班比较多. 下面是之前分享的链接: [算法]200-每周一练 之 数据结构与算法(Stack) [算法]213-每周一练 之 数据结构与算法(LinkedList) [算法] ...

  10. .NET Core的响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单

    netnrf 响应式框架 用于快速开发的响应式框架 演示:https://rf2.netnr.com v3.x 前端采用 jQuery + Bootstrap + EasyUI + AceAdmin ...