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

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. 用 户

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

3. 角 色

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

4.

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

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

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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/sandea/p/3295273.html

一个权限管理模块的设计(转载)相关推荐

  1. 如何设计一个权限管理模块?

    我们每天都在使用各种各样的办公自动化系统,也叫OA.ERP系统.不同的用户登录能看到的菜单和数据资源都不一样. 比如,管理员登入财务系统,能看见员工模块,员工登录就看不见,这就是菜单权限:员工登录财务 ...

  2. java为用户分组_用户分组权限管理模块的设计

    接口和抽象类的设计 class="java" name="code"> //身份解决者接口 public interface IdentityResolv ...

  3. 一个简易实用的web权限管理模块的应用与实现

    本文介绍一个简易实用的web权限管理模块的应用与实现. 先介绍数据模型和应用界面,后继对实现细节做选择性阐述. 数据表关系如下: 该图标明了登陆用户.角色.部门(机构).用户组.角色和模块功能之间的关 ...

  4. 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块.权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问.其实Java中已经有很成熟的权限管理框架,例如 Shi ...

  5. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  6. 基于区块链的Smart系统-题库及试卷管理模块的设计与开发

      1引言 1.1课题背景 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训.现在,计算机硬件技术的发展已经达到了相当高的水平.但是,远程 ...

  7. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题 Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整 ...

  8. 6. 添加权限管理模块

    本文主要是以权限管理模块为例来介绍使用springboot+mybatis完成增删改查的功能. 1. 添加Permission实体类 1 package com.lvniao.blog.model; ...

  9. 一个不错的权限管理模块设计案例

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 不哼不哈 来源 | cnblogs.com/myindex/p/9116177.h ...

最新文章

  1. 基于路由器网络诊断步骤和故障排除技巧
  2. 从无头单链表中删除节点 结构之法 4
  3. android 拍照不能保存图片格式,Android 拍照后保存到手机里,在相册找不到
  4. MS-SQL分页not in 方法改进之使用row_number
  5. html typora 图片_Typora优化-适合不懂CSS代码的小白
  6. 1024乘风破浪季,3本好书助你平步青云
  7. java字符串反转及替换_Java圆括号翻转字符串
  8. Linux的巡检命令
  9. Django nginx部署
  10. DeepChem手册3.10 MoleculeNet
  11. 元学习提高黑盒对抗攻击
  12. 电脑重装系统Win10关闭网速限制的方法
  13. 在树莓派开发板上进行ROS开发+语音交互系统设计
  14. webstrom免安装版
  15. android蓝牙门禁,1号社区APP互联门禁产品新开门方式说明
  16. 智慧社区网格化管理php,智慧社区网格化平台
  17. android 很多牛叉界面库github地址
  18. php files 转数组,转 PHP文件上传$_FILES数组各键值含义说明
  19. 雨滴特效源码html,js雨滴特效
  20. linux下防止rm-rf /处理

热门文章

  1. 记一次工作中的小BUG
  2. Android TV 快进帧预览
  3. redux 和 react-redux 部分源码阅读
  4. PowerShell导出共存环境下的Exchange数据库列表
  5. php Pthread 多线程 (一) 基本介绍
  6. iOS-应用之间调用
  7. 利用JDK工具进行系统性能监测
  8. BT项目的运作之一项目建设方案与BT总包方的选择
  9. js函数 Number()、parseInt()、parseFloat()的区别:
  10. HTML DOM Event 对象