访问控制元素
准备
权限引擎
anycmd是个权限引擎。使用者初始化这个引擎的状态,然后往这个引擎中输入一个运动的标识它会回答是否允许这个运动发生:允许、不允许、我异常了(权限引擎异常了)。如何标识一个运动?有这么几个要素:1 谁发起的这'个'运动,2 这'种'运动的‘种’标识。3 这个运动的实参列表。
受控的运动
所谓运动,其实就是一个过程,其实就是一个计算。其实就是一个输入和输出。其实就是对象的方法啦,没什么高深的。他使用“运动”这个概念,而不使用更具体的概念是想表明,它是设计用来控制任何运动的。 比如3D打印机的打印运动,不停的运动,系统不停的采样,不停的改变权限引擎的状态,然后终于发现用户99%是在试图打印一把枪。枪有它的核心模型,无论你怎么伪装,打印出来的枪都是使用同样的物理定律去发射子弹的,它的那个核心模型是一样的,anycmd就是要采样识别出他们的伪装从而在这个运动完成之前终止它。
无边界的系统
在运动完成之前总是有办法终止这个运动。计算机指挥3D打印机打印的运动过程只是它的父过程的子过程,还有打印后从3D打印机中取结果的过程啊,没有权限就让你取不出。
落实
anycmd明白rbac处在acl和安全策略语言中间的意义和重要性,anycmd明白人们花费集体智慧人力指定出标准的意义和重要性。anycmd致力于让高高在上的国家标准、国际标准发挥价值。anycmd定义了可以任意两两组合的9中AC元素:Account、Catalog、Role、Group、Function、Menu、AppSystem、ResourceType、Privilege(暂不支持,该取值的存在是为了概念完整性。组成授权路由链表。如同面向对象机制中类的“继承”)。
不止9种元素
anycmd中有9中ac元素,为什么这么多种元素?这不是我抽象出来的,而是观察现在的世界观察出来的。人们抽象出这些元素是为了帮助简化复杂的问题,这9种ac元素是站在一个更低的抽象层次来观察的,而在高一级的抽象层次看ac只有三种元素:主体、资源、运动。目录是对资源的单元划分,目录节点是边界,每一个边界绑定的角色应该只在当前用户进入这个边界后激活离开这个边界后收回,从而不能将从一个边界内得到的角色带出这个边界去操作其他边界内的资源。
9种元素
1. Account
2. Catalog
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
