zoukankan      html  css  js  c++  java
  • 数据库设计系列[03]权限系统

    1 权限模型中的业务对象及联系

    在权限模型中主要有三个对象员工、岗位(角色)和资源。它们之间的关系为:员工与岗位之间的多对多,岗位与资源也是多对多的关系。即,可以为一位员工分配多个岗位,可以将一个岗位分配给多位员工;可以为一个岗位分配多个资源,也可以将一个岗位分配给多个角色。实体关系图如下:

    2 业务对象联系的细化

    标识上三个对象的关键属性,以及它们之间的联系,如下图:

    Employee:只管理员工信息,不与角色关联;

    Post:仅管理岗位信息,(如果需要父岗位可以访问子岗位的资源,可以将岗位表设计成一个树形结构的数据);

    Resource:只单独管理资源信息,资源包括页面和按钮,用TYPE来区别,并且通过PARENTID, LEVELNO, SEQNO将资源设计成树形的结构;

    EmployeePermission:表示Employee有哪些Post;

    PostPermission:表示Post有些Resource;

    这样员工、角色和资源就可以单独的管理,它们之间的关系在另外的表中管理。

    3 小结

    在上面的模型中,我们仅仅是一种比较简单的建模。至于其它的一些复杂的需求,我们可以基于这样的模型进行改进。如当有这样的需求“要能查看2011-10-10王二担任的岗位信息“,我们需要将EmployeePermission修改成历史记录表,即每一次修改员工的岗位信息时,我们都将它保存下来,但某一时刻我们仅用其中的一条数据。加入ISUSE标识即可。这个其实是一种最简单的一种权限模型,还没有加上多公司,部门等需求。对于这些更多的需求,以及现有的权限模型如何演化,我们下次再讨论。

  • 相关阅读:
    iOS layoutSubviews 什么时候会被调用
    view
    NSDictionaryOfVariableBindings
    获取相册中得图片
    相机
    给定文字测量它的大小
    git
    单例的创建
    物理引擎简介——Cocos2d-x学习历程(十三)
    场景切换特效Transition——Cocos2d-x学习历程(十二)
  • 原文地址:https://www.cnblogs.com/dataadapter/p/2861047.html
Copyright © 2011-2022 走看看