zoukankan      html  css  js  c++  java
  • 一个权限管理模块的设计(转载)

    一 个用户权限管理模块的设计思路:

    1. 权 限资源(功能资源)

    系统的所有权限信息。权限具有上下级关系,是一个树状的结构。如下:

    <!--[if !supportLists]-->u  <!--[endif]-->系统管理

    <!--[if !supportLists]-->l  <!--[endif]-->单位管理

    <!--[if !supportLists]-->u  <!--[endif]-->查看单位

    <!--[if !supportLists]-->u  <!--[endif]-->添加单位

    <!--[if !supportLists]-->u  <!--[endif]-->修改单位

    <!--[if !supportLists]-->u  <!--[endif]-->删除单位

     

    <!--[if !supportLists]-->l  <!--[endif]-->部门管理

    <!--[if !supportLists]-->u  <!--[endif]-->查看部门

    <!--[if !supportLists]-->u  <!--[endif]-->添加部门

    <!--[if !supportLists]-->u  <!--[endif]-->修改单位

    <!--[if !supportLists]-->u  <!--[endif]-->删除单位

     

    对于每个权限,又存在两种情况:1可 访问;2可授权,部分表中采用拥有类型做判断(0可 访问,1即可访问也可授权)

     

    2. 用 户

    系统的具体操作者,用户可以自己拥有权限信息,可以归属于0n个角色,可属于0n个组。他的权限集是自身具有的权限+所属的各角色具有 的权限+所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是nn的关系。

     

    3. 角 色

    为了对拥有相似权限的用户进行分类管理,因此定义角色,例如:超级管理员,一般管理员、一般用户等角色。在这里同时也让角色具有上下级 关系,形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。

     

    4.

    为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际应用中,我们知道,组也可以具有自 己的角色信息、 权限信息。

    就好比是javaeye中的圈子,一个圈子可以拥有多个会员,同时一个会员也可 以加入多个圈子,对于不同的圈子又有不同的权限信息。(组的解释:例如一个公司中,不同的部门即可 划分不同的组来进行权限的分配)

     

    针对以上描 述,结构关系如下:


    一个权限管理模块的设计 - qiuguangchun - sandea的个人主页
     

     

    整个模块分为组权限管理、角色权限管理、用户权限管理。

    其中组权限管理:组权限 = 所属角色的权限合集 + 组自身的权限。

    角色权限管理:角色权限 = 角色自身权限。

    用户权限管理:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。

     

    注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只 能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。

     


  • 相关阅读:
    String 尺取法
    dos 命令
    又见01背包
    01串
    Python-Matplotlib 10 面向对象 VS Matlab Style
    [ 转 ] Fiddler 教程
    Android 查看设备文件
    Python-Matplotlib 9 颜色和样式 [r]
    Python-Matplotlib 8 箱形图
    Python-Matplotlib 7 饼状图
  • 原文地址:https://www.cnblogs.com/sandea/p/3295273.html
Copyright © 2011-2022 走看看