管理軟件設計中,權限管理雖說是比較基本的內容,但也十分重要,說簡單也簡單,說復雜也復雜,最復雜就像網絡操作系統一樣,區分很多層次,什么分組啦角色啦,不過,一般會根據實際需要采用比較實用且簡捷的設置方案.本文介紹一個在實際軟件中用過和一種方法,主要是把功能、權限、菜單結合到一起來的設計方案。
一、設計方案中用設計表來保存功能或權限
可以根據需要,設置ID、功能名稱、類別、模塊及其他項目。
二、設計方案中用設計權限分配功能,將這些功能分配給具體操作人員
將分配到具體人員的權限保存到另一個表中。
三、在主窗口中把權限裝入成為菜單項
如果權限中包含非功能項目,要在加載過濾掉,同時將單存權限讀入保存到變量,當然每次用到再讀也可以。顯示如圖。
部門代碼如下:
- Dim Gnsql As String = "SELECT * FROM 用戶權限 WHERE 用戶名稱='當前用戶'"
- Dim dtQX As DataTable = hyDB.DBselect(Gnsql) '
- Dim dqMK As String = ""
- Dim gnNODE As TreeNode = Nothing
- Dim dqNODE As TreeNode = Nothing
-
- With dtQX
- Dim qxROWS() As DataRow = .Select()
- For i = 0 To qxROWS.GetUpperBound(0)
- If dqMK <> qxROWS(i).Item("模塊名稱").ToString Then
- dqNODE = TreeView1.Nodes.Add(qxROWS(i).Item("模塊名稱").ToString)
- Else
- gnNODE = dqNODE.Nodes.Add("", qxROWS(i).Item("功能名稱").ToString)
- End If
- dqMK = qxROWS(i).Item("模塊名稱").ToString
- Next
- End With
這樣,菜單也有了,權限也有了。
四、執行菜單功能
- Public Sub ErmGn(ByVal Gn As String)
- Select Gn
- Case "銷售訂單"
- Dim ErmXSDD As Form = New FormXSDD
- ErmXSDD.Show()
- Exit Select
- Case "銷售出庫單"
- Dim ErmXSCK As Form = New FormXSCK
- ErmXSCK.Show()
-
- Case "銷售報價單"
- Dim ErmXSBJ As Form = New FormXSBJ
- ErmXSBJ.Show()
- ......
-
- End Select
- End Sub
>
【編輯推薦】
- 五類Web2.0網站在金融危機獲得發展
- 面向WEB2.0的IT服務管理平臺
- 詳解基于JSP網絡技術教學平臺的設計
- 面向模式的分析和設計
- 設計模式在EJB中的應用