• The Universal access module – Requirements & Design


    Preface    

    之前的接触到的大部分系统都有权限设计,但每个系统的权限设计都不太一样,有的简单,有的复杂一点。基本设计都是根据各自的需要设计的,今天开始着手设计实现一个通用的权限模块,能快速的高效的集成到项目或产品中。

    Requirements

    • 首先,确定的权限需要管理哪些内容:
    1. 资源的权限,区分不同角色不同人员所拥有的访问权限
    2. 控制的权限,区分不同角色不同人员所拥有的控制操作权限
    3. 数据的权限,区分不同角色不同人员所拥有的数据访问权限
    4. 业务模块或者产品的权限,区分不同模块及产品之间的访问权限
    • 用户的管理,模块中任何用户都不拥有直接创建和分配权限,所有的操作控制访问限制都有角色来决定。模块在初始化或接入后由系统分配一个超级管理用户,该用户具有最高级别的管理控制权限。模块中不存在特殊的角色和用户。
    • 角色的管理,为了区分某些具有连续的或者类似的访问控制权限,设定了角色的概念。角色与用户是N:N的关系。即一个用户有多个角色(如某用户即是人事又兼任行政事务),一个角色对应多个权限资源。
    • 组织机构与产品的管理,模块中与用户角色相对应的一条权限管理线,用来区分管理不同的产品与组织机构,模块可以实现多个组织机构与权限的分配控制管理。

    Design

    用户的用例图

    Administrator用户由系统模块生成可以进行自身的登录验证授权,并且对用户、角色和资源有维护的权限。同时他具有普通用户的所有权限。

  • 相关阅读:
    Log4Qt 使用(一)
    “定义为指针,外部以数组形式引用”和“定义为数组,外部以指针形式引用”会发生什么?
    gcc总结【基本用法】【选项】【动静态库】(转)
    C++沉思录之三——设计容器类
    C++沉思录之二——虚函数使用的时机
    何时需要自定义复制构造函数?
    C++沉思录之一
    搜索百度云里面的内容技巧
    Qt 之容器内的控件全屏
    python的代码检查
  • 原文地址:https://www.cnblogs.com/BlueEye/p/4807252.html
Copyright © 2020-2023  润新知