zoukankan      html  css  js  c++  java
  • 读书札记:基于RBAC的权限设计模型分析

    根据以上的类关系图和ER图可以看出。整个权限可以抽象为五个对象组成。

     

    OrgBean :用于描述org模型。

    Role用于描述角色。

    Permission用于描述权限。

    Resource用于描述资源。

    Operation用于描述操作。

     

    其中Permission中有Resource , Operation的聚合,资源和操作组成权限。

    RolePermission都有自包含。因为设计到权限的继承。

    资源Resource也可能出现一颗树形结构,那资源也要有自包含。

     

    思想:

     

    权限系统的核心由以下三部分构成:1.创造权限,2.分配权限,3.使用权限,然后,系统各部分的主要参与者对照如下:1.创造权限-Creator创造,2.分配权限- Administrator分配,3.使用权限- User

     

    1.Creator创造PrivilegeCreator在设计和实现系统时会划分,一个子系统或称为模块,应该有哪些权限。这里完成的是PrivilegeResource的对象声明,并没有真正将Privilege与具体Resource实例联系在一起,形成Operator

     

    2.Administrator指定PrivilegeResource Instance的关联。在这一步,权限真正与资源实例联系到了一起,产生了OperatorPrivilege Instance)。Administrator利用Operator这个基本元素,来创造他理想中的权限模型。如,创建角色,创建用户组,给用户组分配用户,将用户组与角色关联等等...这些操作都是由Administrator来完成的。

     

    3. User使用Administrator分配给的权限去使用各个子系统。Administrator是用户,在他的心目中有一个比较适合他管理和维护的权限模型。于是,程序员只要回答一个问题,就是什么权限可以访问什么资源,也就是前面说的Operator。程序员提供Operator就意味着给系统穿上了盔甲。Administrator就可以按照他的意愿来建立他所希望的权限框架可以自行增加,删除,管理ResourcePrivilege之间关系。可以自行设定用户User和角色Role的对应关系。(如果将Creator看作是Basic的发明者,Administrator就是Basic的使用者,他可以做一些脚本式的编程) Operator是这个系统中最关键的部分,它是一个纽带,一个系在ProgrammerAdministratorUser之间的纽带。

     

  • 相关阅读:
    Java面试题(转)
    哪种方式更适合在React中获取数据?
    vue学习之深入响应式原理
    还不会用FindBugs?你的代码质量很可能令人堪忧
    几道大数据面试题(转)
    【Medium翻译】Java抽象类有什么用?
    深入理解Kafka必知必会(上)
    (八十六)c#Winform自定义控件-表格优化(转载)
    IDEA 配置及常用快捷键
    Markdown 复杂公式&常用符号
  • 原文地址:https://www.cnblogs.com/Gemgin/p/3136311.html
Copyright © 2011-2022 走看看