廖亮 劉瑛
摘要:該文利用VisualBasic.Net 2017結(jié)合后臺數(shù)據(jù)庫SQL Server2008設計了一種動態(tài)管理用戶權(quán)限的功能模塊,能較好的應用到各種信息管理系統(tǒng)中,解決系統(tǒng)對用戶權(quán)限動態(tài)分配的需求。
關(guān)鍵詞:VB.Net;SQL Server;權(quán)限管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)36-0001-03
1 概述
隨著計算機技術(shù)的發(fā)展,各行各業(yè)都逐步開發(fā)應用了相關(guān)的信息管理系統(tǒng)。信息系統(tǒng)在使用過程中,管理員經(jīng)常需要根據(jù)不同的崗位,給不同員工分配不同的權(quán)限,當員工調(diào)換或調(diào)離崗位時,需要對員工權(quán)限及時進行更改與回收。目前,很多信息系統(tǒng),設計時用戶權(quán)限跟菜單項都是都是固定的,系統(tǒng)成型后,用戶更改權(quán)限非常困難。針對這種情況,本文設計了一種可以根據(jù)用戶需要,隨時添加、調(diào)整崗位權(quán)限的動態(tài)權(quán)限管理模塊,方便對員工靈活分配權(quán)限,操作簡單,擴展性強,實現(xiàn)方法適用于各類信息系統(tǒng)。
2 總體思路
為了達到操作簡單靈活的目的,界面設計時,在盡量減少界面數(shù)量的同時,要將界面設計得簡單明了,功能集成度高,讓用戶一看就懂,一用就會。本文共重點講述了兩個界面:用戶管理和權(quán)限管理。用戶管理用來實現(xiàn)對用戶的管理,包括新增、修改、停用工號及工號權(quán)限分配功能。權(quán)限管理包括崗位設置(新增、修改、停用)及崗位對應的權(quán)限分配。而后臺數(shù)據(jù)庫的設計,則需要建立:用戶表、崗位表、權(quán)限明細表三張數(shù)據(jù)表。
設計完成后,用戶登錄之時,根據(jù)該用戶擁有的權(quán)限ID,系統(tǒng)只調(diào)出該權(quán)限ID擁有的菜單。各級崗位的管理維護、用戶管理和崗位權(quán)限分配,由管理員根據(jù)需求分配,達到統(tǒng)一管理動態(tài)分配的效果。
3 實現(xiàn)過程
3.1 系統(tǒng)流程設計
系統(tǒng)登錄流程為:1)驗證登錄;2)查詢相關(guān)權(quán)限;3)進入系統(tǒng)并獲得相應菜單。具體流程如圖1。
3.2 后臺數(shù)據(jù)表設計
我們在SQL Server2008數(shù)據(jù)庫中建立3張表:1用戶表:Users(ID,UserName,Password,PowerID,jlzt);2崗位權(quán)限表:Power(ID,PowerName);3權(quán)限明細表: DetailPower(PowerID,MenueName)。數(shù)據(jù)表的屬性見表1~3。
3.3 窗體設計
程序窗體采用的設計工具是VisualBasic.Net 2017,共設計了用戶登錄、主窗體、用戶管理、權(quán)限管理四個Windows應用窗體。
3.3.1 定義全局變量與函數(shù)
定義了U_Id、U_Name、U_PowerID三個全局變量,用來保存登陸的用戶信息(工號、用戶名、權(quán)限編碼);定義一個grdDataSource(ByVal str As String)函數(shù),便于獲取表格控件的數(shù)據(jù)源;定義一個用來加密解密用戶密碼的csmode類。具體代碼不在此詳述。
3.3.2 用戶登錄
用戶登錄時首先驗證工號密碼,驗證通過后將工號、用戶名和權(quán)限ID(PowerID)傳給全局變量,然后調(diào)用主窗體并關(guān)閉本窗體。
3.3.3 主窗體設計
主窗體的設計重點在加載用戶的菜單過程。本文的實現(xiàn)過程如下:
1 將所有菜單的子菜單visible屬性設為不可見,即False。
2 根據(jù)變量U_PowerID的值,從DetailPower表中讀取其擁有的權(quán)限菜單MenuName存到數(shù)據(jù)集中,然后遍歷系統(tǒng)菜單,如果菜單名稱在數(shù)據(jù)集中存在,則將該菜單visible屬性設為True。執(zhí)行結(jié)束后即完成了菜單的加載過程。
3.3.4 用戶管理
用戶管理界面如圖2,實現(xiàn)了用戶新增、修改、停/啟用等功能,當用戶數(shù)量較多時,可根據(jù)工號或用戶名進行模糊查詢。實現(xiàn)代碼簡單,在此不述。
3.3.5 權(quán)限管理
權(quán)限管理的界面設計如圖3,它將權(quán)限(崗位)設置和對崗位的權(quán)限分配兩個功能模塊集成在一起,減少了用戶操作。用戶根據(jù)需要設置相應的權(quán)限(崗位)后,再分配相應的權(quán)限,即該權(quán)限能看到的系統(tǒng)菜單。
運行系統(tǒng),用管理員工號登陸后,只需在權(quán)限管理界面即可實現(xiàn)權(quán)限的動態(tài)管理,在用戶管理界面進行工號管理和設置工號權(quán)限,其他工號登錄時只能看到管理員分配的功能菜單。
4 結(jié)束語
本文實現(xiàn)了權(quán)限(崗位)和權(quán)限菜單的自由分配,操作簡單直觀,實用性強,生成組件之后可以引用到其他系統(tǒng)中。
參考文獻:
[1] 管文.基于訪問權(quán)限網(wǎng)站的動態(tài)菜單的實現(xiàn)[J].電腦知識與技術(shù),2013(11).
[2] 葉文勝,劉學貴.高職院校頂崗實習管理信息化平臺中的動態(tài)菜單技術(shù)[J].無線互聯(lián)科技,2012(9).