现在的位置: 首页 > 综合 > 正文

权限管理

2013年04月27日 ⁄ 综合 ⁄ 共 2771字 ⁄ 字号 评论关闭

 

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

抱歉!评论已关闭.