电话:0731-83595998
导航

浅谈如何有效建立权限管理体系

来源: 2018-01-11 12:42

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

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端