文档章节

权限管理

自由的角马
 自由的角马
发布于 2015/01/10 13:57
字数 2041
阅读 22
收藏 1
出处:http://blog.csdn.net/rose_liang/article/details/8217105

权限是指为了保证职责的有效执行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准。。。。。。事项的权限“来进行表达。
权限管理,尤其是数据级权限管理,与业务紧密关联。不仅造成权限与业务紧密耦合,权限分散在系统各个地方,而且降低了系统组件复用率和抗需求变更能力。权限管理框架、中间件,仁者见仁、智者见智。
权限模块是独立的,拥有独立的资料库(可将权限模块做成独立的系统),这样的话程序的权限就不用改,只要在登陆的时候输入正确的密码和用户和系统即可以得到该系统中该用户下所有的程序,选择正确的厂别的时候就可以到唯一的数据库,但是前提下改类型资料库中的表结构是一致的,这样就可以得到系统。
需求陈述不同职责的人员,对于系统操作的权限应该是不同的。
可以对“组”进行权限分配。对于一个大的企业系统来说。如果要求管理员为其下员工逐已分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。
权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套系统,就要针对权限管理部分进行重新开发。
满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,不同系统之间,功能权限是可以重用的,而资源权限则不能。
在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开启入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。
 我们先来来分析一下流程:
为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。
现在我们来分析一下数据库的结构:
首先,sys_role 表(以下简称为“角色表”),sys_prgs 表(以下简称为“程序表”),sys_function 表(以下简称为“功能表”)以及 sys_user 表(以下简称为“用户表”),这是四张基础资料表,它们记录着“权限”的基础信息;下面来说一下权限的关联表:sys_prgs_function 表(以下简称为“程序功能表”),sys_role_prgs_function 表(以下简称为“角色程序功能表”),sys_user_role 表(以下简称为“用户角色表”),以及 sys_user_prgs_function 表(以下简称为“用户程序功能表”)。
以下是表的关系图(图有点马虎,请见谅):
 我们主要来说明以下关系表:
一、程序功能关系表,这点也是最重要的一点,一个程序可以对应多个功能,一个功能也可以对应多个程序。这里要注意以下:如果权限只是针对一个系统对应多个厂区或公司,那么在这个表中需要加多一个(公司)栏位,这样就可以实现一个系统对应多个厂区或公司的使用,往后再添加厂区或公司,需求程序都不要改变,只添加或修改该表即可;如果权限是针对多个系统只有一个厂区或公司,那就必须在该表中添加一个(系统)栏位,这样好区分目前用户使用的系统;如果权限又针对多个系统,又针对多个厂区或公司使用,那么只能在该表中分别为公司跟系统两个栏位,这里的可以实现多个多对多的关系对应关系表。注意:这里【功能+程序+公司+系统】 组成唯一键。
二、用户角色关系表,一个角色可能同时属于多个用户,同样的道理,一个用户中也可能同时包含多个角色。这里用户+角色组成唯一键。
三、角色程序功能表,一个角色可以对应多个程序功能,一个程序功能可以同时对应多个角色。这里角色+程序功能组成唯一键
四、用户程序功能表,权限可以用角色来管理,也可以细分到用户针对某一支或某多支(这里最好只是针对特别的程序否则有点浪费),一个用户可以对应多个程序功能,同样的道理,一个程序功能也可以对应对个用户。这里用户+程序功能组成唯一键。
 
下面我们来具体看一下表结构:
 
一、功能表:主要有以下栏位,功能编号(主键,自动增长的编号),功能代号(唯一键),功能名称,功能描述,资料更动者,更动日期,创建日期。(基础资料删除的时候要注意外健,最好不要删除基础资料)
 
二、程序表:主要有以下栏位,程序编号(自动增长的主键),程序代号(唯一键),程序名称,访问地址,备注,资料更动者,资料创建日期,公司代号,系统代号。
(基础资料删除的时候要注意外健,最好不要删除基础资料)
 
三、角色表,主要栏位:角色编号(自动增长主键),角色代号(唯一键),角色名称,角色描述,资料更动者,资料更动日期,创建日期。
(基础资料删除的时候要注意外健,最好不要删除基础资料)
 
四、用户表,主要栏位:用户编号(自动增长主键),用户工号,用户名称,部门代号,部门名称,密码,登陆账号(唯一键),备注,停用注记,资料更动者,资料更动日期,创建日期。(基础资料删除的时候要注意外健,最好不要删除基础资料)
 
五、程序功能表,主要栏位:程序功能编号(自动增长的主键),程序编号,功能编号,资料更动者,资料更动日期,创建日期。这里唯一键是(程序编号,功能编号)
 
六、用户角色表,主要栏位为:用户角色编号(自动增长的主键),用户编号,角色编号,资料更动者,资料更动日期,创建日期。这里用户编号跟角色编号组成唯一键。
七、角色程序功能表,主要栏位:角色程序功能编号(自动增长主键),角色编号,程序功能编号,资料更动者,资料更动日期,创建日期。这里角色编号+程序功能编号为唯一键。
 
八、用户程序功能表,主要栏位:用户程序功能编号(自动增长主键),用户编号,程序功能编号,资料更动者,资料更动日期,创建日期。这里的用户编号+程序功能编号为唯一键。
 有些复杂一点的系统,提供了一些规则和管理界面,可以让系统使用者输入规则参数。必然普通审查员审查财务数据的金额区间,勾选某用户能够查询那些组织机构的订单数据。这是给企业提供了部分控制数据级权限的能力。

本文转载自:http://blog.csdn.net/luoweifu/article/details/8691574

自由的角马
粉丝 1
博文 269
码字总数 0
作品 0
文山
私信 提问
权限管理设计、分析、实现参考资料

AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据不同用户权限有不可见、可见、编辑 三种操作权限 http://com...

springfe
2006/11/13
0
0
权限管理功能模块设计

1.权限系统数库表结构 a.权限字典表(标记权限所属系统?,删除动作需要判断是否被使用) b.功能菜单表(标记功能菜单所属系统) c.菜单权限组表 d.用户信息表(标记用户所属系统,一个用户可...

飓风2000
2014/12/04
8
0
Confluence 6 管理和恢复空间管理权限

管理和恢复空间管理权限 可能有些空间的空间管理权限被系统的超级管理删除掉了。这样的空间是没有任何空间管理员的,用户和用户组都不能对空间进行管理。只有 Confluence 管理员权限的用户可...

honeymose
2018/12/04
1
0
基于角色的权限控制

AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据不同用户权限有不可见、可见、编辑 三种操作权限 http://com...

tinwai
2010/03/26
0
0
MySQL用户和权限管理

1、创建数据库用户 MySQL安装好了以后,使用root用户登录MySQL,我们使用create user方法创建用户,如下: 创建了一个用户名为neiwang,密码为1234qwer的用户,他只能在ip为172.17.22.*的网段...

梅超疯
2016/03/07
208
0

没有更多内容

加载失败,请刷新页面

加载更多

arduino项目-1. 模拟楼道灯

@toc 1.1 情景说明 说明 漆黑的夜晚,当有人非法进入一所房屋,房屋内的灯在恰当的时间亮起,也许会有效阻止非法活动的继续。 效果展示 1.2 实验器材 器材名称 数量 继电器 1 人体红外感应器...

acktomas
29分钟前
4
0
Nacos 常见问题及解决方法

Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈。在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方...

阿里云官方博客
35分钟前
6
0
pinyin4j 满足中文转拼音的需求

引入依赖 // https://mvnrepository.com/artifact/com.belerweb/pinyin4j //汉字转拼音compile group: 'com.belerweb', name: 'pinyin4j', version: '2.5.1' 写入中文转拼英的工具......

edison_kwok
40分钟前
5
0
IPSE接入Substrate/Polkadot插槽实现互操作性的运行原理

Substrate框架将区块链的众多功能都模块化,对于开发者来说,只是一个选择的问题,同时还保持了众多的可以定制的功能和模块,比如底层通信模块,比如账户体系,比如共识机制等都是可以自己定...

IPSE
46分钟前
156
0
linux配置安装phpMyAdmin的步骤记录

1、首先在phpMyAdmin官方网站 http://www.phpmyadmin.net/downloads下载源码包,或者通过脚本之家进行下载://www.jb51.net/codes/405261.html ,下载后上传到服务器解压即可,或者通过Linux...

蜗牛女孩
47分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部