国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

淺談如何有效建立權(quán)限管理體系(原創(chuàng))

2024-07-21 02:07:45
字體:
供稿:網(wǎng)友
,歡迎訪問網(wǎng)頁設(shè)計愛好者web開發(fā)。
作者:balloonman2002  2004年6月26日

本文擬結(jié)合powerbuilder語言,簡述如何在傳統(tǒng)c/s應(yīng)用系統(tǒng)當(dāng)中有效建立權(quán)限管理體系。

何謂權(quán)限管理體系?就是如何控制操作使用者對軟件功能和系統(tǒng)數(shù)據(jù)的訪問權(quán)限的各個方面。傳統(tǒng)的c/s應(yīng)用系統(tǒng),多是“前臺應(yīng)用程序+后臺數(shù)據(jù)庫表”兩部分,這樣就決定了我們考慮權(quán)限管理體系就必然要考慮兩方面的內(nèi)容:

1、用戶在前臺的功能權(quán)限:即該用戶能夠使用哪些菜單或窗口功能,例如:張三只能使用數(shù)據(jù)錄入功能,不能使用管理審批功能;

2、用戶在后臺的功能權(quán)限:即該用戶能夠?qū)毂砭哂心男┳x、取訪問權(quán)限,例如:張三對于x_table表只有讀權(quán)限,沒有寫權(quán)限;

是否上述兩方面權(quán)限管理就足夠了呢?答案是否定的,因?yàn)閺膽?yīng)用角度來考慮,還需要對用戶的數(shù)據(jù)訪問權(quán)限進(jìn)行控制,例如:張三屬于a分局,李四屬于b分局,張三、李四各錄入一條數(shù)據(jù),那么在查詢時顯然張三只能查詢到其自己錄入的數(shù)據(jù)記錄,而不允許其查詢到李四錄入的數(shù)據(jù)記錄,或者只能查詢而不允許修改,因此這就引出了第三方面的權(quán)限管理內(nèi)容:

3、用戶在應(yīng)用的數(shù)據(jù)訪問權(quán)限:即該用戶能夠?qū)δ男?shù)據(jù)具有哪些訪問權(quán)限;

下面我們逐一來了解如何實(shí)現(xiàn)上述三個方面的權(quán)限管理:

1、前臺功能權(quán)限:

談到前臺功能權(quán)限,我們要建立下面幾個概念:

崗位:是指用戶具體負(fù)責(zé)的工作分類,如:數(shù)據(jù)錄入崗、文書審批崗、系統(tǒng)維護(hù)崗等;

功能:是指用戶能夠使用的軟件功能,可以通過菜單或窗口來控制,但由于一個系統(tǒng)當(dāng)中窗口通常數(shù)據(jù)量龐大,控制用戶使用哪些窗口不太實(shí)際,因此我們通常菜單控制即可;

工號:是指具體用戶登錄系統(tǒng)所用的用戶id;

上述三個概念的相互關(guān)系如下:

一個崗位可以對應(yīng)多個功能菜單;

一個功能菜單同樣可以對應(yīng)多個崗位;

一個工號只能屬于一個崗位;

進(jìn)而我們可以設(shè)計以下用戶登錄流程:

(1)用戶id登錄系統(tǒng)后讀取對應(yīng)用戶表查看其所在崗位;

(2)查找該崗位對應(yīng)可以使用哪些菜單;

(3)將用戶能夠使用的菜單和系統(tǒng)實(shí)際菜單逐一比較,屏蔽不允許其使用的菜單;

這里面由于涉及到菜單的遍歷,需要使用到一些pb的使用技巧,詳見另外一篇文章《淺談如何利用pb實(shí)現(xiàn)動態(tài)添加菜單》,此處不再贅述。

這樣通過上述三者關(guān)系,建立起一個用戶工號到底能夠使用哪些菜單,不能使用哪些菜單。為何要如此復(fù)雜,為何不直接定義每個工號能夠使用哪些菜單呢?那樣的話,顯然系統(tǒng)冗余太大,造成資源浪費(fèi),不符合規(guī)范化要求。

2、后臺庫表權(quán)限:

后臺庫表權(quán)限主要是根據(jù)前臺工號在后臺數(shù)據(jù)庫建立相應(yīng)的帳號(login)、用戶(user),并根據(jù)一定的規(guī)則產(chǎn)生對應(yīng)密碼,并賦予其不同的角色(role)、不同庫表的不同讀、寫權(quán)限,由于這部分與所采用的后臺具體數(shù)據(jù)庫密切相關(guān),因此本文不再詳述。

3、應(yīng)用數(shù)據(jù)權(quán)限:

應(yīng)用數(shù)據(jù)權(quán)限的實(shí)現(xiàn),主要通過各類數(shù)據(jù)表當(dāng)中必須引入數(shù)據(jù)記錄的錄入或產(chǎn)生單位代碼和操作員工號id,當(dāng)用戶訪問相應(yīng)記錄時,首先比較當(dāng)前用戶id及其所在單位,是否與數(shù)據(jù)記錄的產(chǎn)生操作員id及其單位代碼一致,這個問題說起來簡單,但實(shí)際用pb語言實(shí)現(xiàn)起來需要講究一定技巧,要充分借助“繼承”這一特性,盡量高效、通用。

 

如需要進(jìn)一步資料,請聯(lián)系qq:27855043,msn:[email protected]

如有不當(dāng)之處,敬盼您的指點(diǎn)。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 留坝县| 托克托县| 平泉县| 德阳市| 盖州市| 永寿县| 乐陵市| 九龙县| 东乡族自治县| 稷山县| 高平市| 偏关县| 礼泉县| 陆河县| 潼南县| 浮梁县| 衡水市| 云南省| 郧西县| 安庆市| 昂仁县| 曲靖市| 澄城县| 延边| 镇平县| 眉山市| 郎溪县| 自治县| 顺平县| 小金县| 嘉黎县| 乌恰县| 金昌市| 武功县| 江西省| 湛江市| 肃宁县| 金溪县| 囊谦县| 泗洪县| 贡觉县|