浅谈如何有效建立权限管理体系数据库 电脑资料
本文拟结合POWERBUILDER语言,简述如何在传统C/S应用系统当中有效建立权限体系,
本文拟结合POWERBUILDER语言,简述如何在传统C/S应用系统当中有效建立权限管理体系。
1、用户在前台的功能权限:即该用户能够使用哪些菜单或窗口功能,例如:张三只能使用数据录入功能,不能使用管理审批功能;
2、用户在后台的功能权限:即该用户能够对库表具有哪些读、取访问权限,例如:张三对于xtable表只有读权限,没有写权限;
是否上述两方面权限管理就足够了呢?答案是否认的,因为从应用角度来考虑,还需要对用户的数据访问权限进行控制,例如:张三属于A分局,李四属于B分局,张三、李四各录入一条数据,那么在查询时显然张三只能查询到其自己录入的数据记录,而不允许其查询到李四录入的数据记录,或者只能查询而不允许修改,因此这就引出了第三方面的权限管理内容:
3、用户在应用的数据访问权限:即该用户能够对哪些数据具有哪些访问权限;
下面我们逐一来了解如何实现上述三个方面的权限管理:
1、前台功能权限:
电脑自带数据库管理系统吗谈到前台功能权限,我们要建立下面几个概念:
岗位:是指用户具体负责的工作分类,如:数据录入岗、文书审批岗、系统维护岗等;
功能:是指用户能够使用的软件功能,可以通过菜单或窗口来控制,但由于一个系统当中窗口通常数据量庞大,控制用户使用哪些窗口不太实际,因此我们通常菜单控制即可;
工号:是指具体用户系统所用的用户ID;
上述三个概念的相互关系如下:
一个岗位可以对应多个功能菜单;
一个功能菜单同样可以对应多个岗位;
一个工号只能属于一个岗位;
进而我们可以设计以下用户流程:
(1)用户ID系统后读取对应用户表查看其所在岗位;
(2)查该岗位对应可以使用哪些菜单;
(3)将用户能够使用的菜单和系统实际菜单逐一比拟,屏蔽不允许其使用的菜单;
这里面由于涉及到菜单的遍历,需要使用到一些PB的使用技巧,详见另外一篇文章《浅谈如何利用PB实现动态添加菜单》,此处不再赘述,
这样通过上述三者关系,建立起一个用户工号到底能够使用哪些菜单,不能使用哪些菜单。为何要如此复杂,为何不直接定义每个工号能够使用哪些菜单呢?那样的话,显然系统冗余太大,造成资源浪费,不符合标准化要求。
2、后台库表权限:
后台库表权限主要是根据前台工号在后台数据库建立相应的帐号(LOGIN)、用户(USER),并根据一定的规那么产生对应密码,并赋予其不同的角(ROLE)、不同库
表的不同读、写权限,由于这局部与所采用的后台具体数据库密切相关,因此本文不再详述。
3、应用数据权限:
应用数据权限的实现,主要通过各类数据表当中必须引入数据记录的录入或产生单位代码和操作员工号ID,当用户访问相应记录时,首先比拟当前用户ID及其所在单位,是否与数据记录的产生操作员ID及其单位代码一致,这个问题说起来简单,但实际用PB语言实现起来需要讲究一定技巧,要充分借助“继承”这一特性,尽量高效、通用。
原文转自:.ltesting.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论