WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院数据库Sybase 浅谈如何有效建立权限管理体系 阅读

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

 2006-03-26 22:26:12 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示:本文拟结合POWERBUILDER语言,简述如何在传统C/S应用系统当中有效建立权限管理体系,浅谈如何有效建立权限管理体系, 何谓权限管理体系?就是如何控制操作使用者对软件功能和系统数据的访问权限的各个方面,传统的C/S应用系统,但实际用PB语言实现起来需要讲究一定技巧,要充分借助“继承”这一特性,多是“前台应用程序+

  本文拟结合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语言实现起来需要讲究一定技巧,要充分借助“继承”这一特性,尽量高效、通用。 

Tags:如何 有效 建立

编辑录入:coldstar [复制链接] [打 印]
赞助商链接