一个权限管理模块的设计(转载)
一 个用户权限管理模块的设计思路:
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
一个权限管理模块的设计(转载)相关推荐
- 如何设计一个权限管理模块?
我们每天都在使用各种各样的办公自动化系统,也叫OA.ERP系统.不同的用户登录能看到的菜单和数据资源都不一样. 比如,管理员登入财务系统,能看见员工模块,员工登录就看不见,这就是菜单权限:员工登录财务 ...
- java为用户分组_用户分组权限管理模块的设计
接口和抽象类的设计 class="java" name="code"> //身份解决者接口 public interface IdentityResolv ...
- 一个简易实用的web权限管理模块的应用与实现
本文介绍一个简易实用的web权限管理模块的应用与实现. 先介绍数据模型和应用界面,后继对实现细节做选择性阐述. 数据表关系如下: 该图标明了登陆用户.角色.部门(机构).用户组.角色和模块功能之间的关 ...
- 通俗易懂权限管理模块设计-Java
最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块.权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问.其实Java中已经有很成熟的权限管理框架,例如 Shi ...
- Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 基于区块链的Smart系统-题库及试卷管理模块的设计与开发
1引言 1.1课题背景 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训.现在,计算机硬件技术的发展已经达到了相当高的水平.但是,远程 ...
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整 ...
- 6. 添加权限管理模块
本文主要是以权限管理模块为例来介绍使用springboot+mybatis完成增删改查的功能. 1. 添加Permission实体类 1 package com.lvniao.blog.model; ...
- 一个不错的权限管理模块设计案例
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 不哼不哈 来源 | cnblogs.com/myindex/p/9116177.h ...
最新文章
- 基于路由器网络诊断步骤和故障排除技巧
- 从无头单链表中删除节点 结构之法 4
- android 拍照不能保存图片格式,Android 拍照后保存到手机里,在相册找不到
- MS-SQL分页not in 方法改进之使用row_number
- html typora 图片_Typora优化-适合不懂CSS代码的小白
- 1024乘风破浪季,3本好书助你平步青云
- java字符串反转及替换_Java圆括号翻转字符串
- Linux的巡检命令
- Django nginx部署
- DeepChem手册3.10 MoleculeNet
- 元学习提高黑盒对抗攻击
- 电脑重装系统Win10关闭网速限制的方法
- 在树莓派开发板上进行ROS开发+语音交互系统设计
- webstrom免安装版
- android蓝牙门禁,1号社区APP互联门禁产品新开门方式说明
- 智慧社区网格化管理php,智慧社区网格化平台
- android 很多牛叉界面库github地址
- php files 转数组,转 PHP文件上传$_FILES数组各键值含义说明
- 雨滴特效源码html,js雨滴特效
- linux下防止rm-rf /处理