AX 2012的权限,根据其设计思路,是可以对任何表字段,窗体控件,以及运行在服务器端的类中的方法(方法头上标记有SysEntryPointAttribute(false)的方法) 进行权限控制。

可以看到,权限被划分为了:Code Permission, Privileges, Duties, Roles, Process Cycles, Policies. 

他们的关系大致如下:

红色框里是用MenuItem来控制窗体的可见性、可编辑性等属性。

绿色框里是针对某个具体字段,table,方法中的个别字段进行控制。

首先应该根据红色框的思路配置,对个别角色需要对表字段或者窗体控件要单独控制的,再Permissions中增加特许权限。

Policies是做数据行过滤用。

Process Cycles是duty的集合,而duty下面包含Privileges,这个是方便新建角色的时候可以根据流程周期及职责快速为新角色分配权限。

熟悉数据库的开发人员,通过数据库表/ 视图可以更好理解他们的关系:

SecurityUserRole: 保存了“系统用户”与“角色”之间的关系

SecurityRole: 角色表

SecurityRoleTaskGrant: 保存了“角色”与权限的关系。

SecurityTask:  权限表,所谓的Task包含了Privileges, Duties, Process Cycles 三种情况, 分别对应了枚举值SecurityTaskType的0,1,2

SecuritySubTask: 保存了Task之间的树形结构。Process Cycles包含Duties包含Privileges。

另外UserInfo保存了用户信息;SysModelElementLabel保存了界面上的字段多语言描述

用以上表做连接查询就可以抽出所有用户所对应的全部权限了。很容易吧?

Dynamics AX2012 标准权限控制工作原理相关推荐

  1. mysql权限系统的工作原理_Mysql权限系统工作原理

    MySQL权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个MySQL服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和你想做什么来授予权限. MyS ...

  2. php授权系统原理,Mysql权限系统工作原理-PHP教程,PHP基础

    权限系统工作原理 mysql权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个mysql服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和你想做什么来 ...

  3. Mysql权限系统工作原理(转)

    Mysql权限系统工作原理: MySQL权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个MySQL服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和 ...

  4. mysql权限系统的工作原理_Mysql权限系统工作原理_PHP教程

    权限系统工作原理 MySQL权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个MySQL服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和你想做什么来 ...

  5. grant 1.0 mysql 权限系统工作原理

    文章目录 一.权限系统作用 二.工作原理 授权表 刷新和查看权限表 一.权限系统作用 MySQL 权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的 SELECT.INSER ...

  6. 10、MySQL权限控制实现原理

    MySQL 权限表在数据库启动时载入内存,用户通过身份认证后,系统会在内存中进行相应权限的存取.当 MySQL 允许一个用户执行各种操作时,它将首先核实该用户向 MySQL 服务器发送的连接请求,然后 ...

  7. @PreAuthorize 权限控制的原理

    @PreAuthorize 注解,顾名思义是进入方法前的权限验证,@PreAuthorize 声明这个方法所需要的权限表达式,例如:@PreAuthorize("hasAuthority(' ...

  8. SAP CDS view权限控制实现原理介绍

    Part1 – how to test odata service generated by CDS view Part2 – what objects are automatically gener ...

  9. mysql权限系统的工作原理_MySQL

    5.7.2. 权限系统工作原理 MySQL权限系统保证所有的用户只执行允许做的事情.当你连接MySQL服务器时,你的身份由你从那儿连接的主机和你指定的用户名来决定.连接后发出请求后,系统根据你的身份和 ...

  10. 曲鸟全栈UI自动化教学(四):Selenium工作原理及Webdriver对浏览器的配置和操作

    一.前言 上篇文章我们学习了Selenium页面操作原理及如何高效的进行元素定位 那Selenium的工作原理又是什么?是如何驱动浏览器的呢?这篇文章为你讲解Selenium工作原理及Webdrive ...

最新文章

  1. python 关于异常处理 try...except... 的两个案例
  2. kangle服务器搭建java_linux下kangle虚拟主机-架设java空间的教程及心得
  3. 分布式团队_我们说的意思是:我们是一个分布式优先团队
  4. laravel没有route.php,Laravel中的RouteCollection.php中的NotFoundHttpException
  5. java repaint 无效_java repaint()无效
  6. VUE 学习代码理解(1~5课时代码)
  7. 图像语义分割(15)-ConvCRFs:用于语义分割的卷积条件随机场
  8. Java实验报告(基础练习、选择循环、数组、字符串及类和对象)
  9. mozhe靶场——网络安全——投票系统程序设计缺陷分析
  10. HTTP请求头headers
  11. python程序文件的扩展名是-python脚本文件的扩展名是什么
  12. 【华为机试真题 JAVA】统计射击比赛成绩-100
  13. Win10系统文件名太长导致无法删除
  14. SAP PLM CVAPI_DOC_VIEW 获取DMS文档原件URL地址示例(Originals File)
  15. MySQL条件查询练习题(含答案)
  16. iOS 应用闪退的原因
  17. 2020年 ICLR 国际会议最终接受论文(poster-paper)列表(三)
  18. 纯css动画-div从左到右出现
  19. 区块链技术应用场景设想
  20. 基于Faster-RCNN的水书古籍手写文字的检测与识别-论文阅读

热门文章

  1. 计算机用户系统软件,计算机软件系统
  2. java如何实现容器_Java的容器都有哪些,怎么实现的
  3. 程序员30岁后怎么办
  4. 3D开发-AR.js Nginx HTTPS服务搭建
  5. vuex的购物车效果 index.js
  6. 牛客网 牛客练习赛7 A.骰子的游戏
  7. hql语句关联查询(select new )
  8. Android Sqite数据库 9
  9. 图像处理:同态滤波(Homomorphic filter)
  10. django1.6 mysql_如何在Django1.6结合Python3.4版本中使用MySql