管理軟體設計中,許可權管理雖說是比較基本的內容,但也十分重要,說簡單也簡單,說複雜也複雜,最複雜就像網路作業系統一樣,區分很多層次,什麼分組啦角色啦,不過,一般會根據實際需要採用比較實用且簡捷的設定方案.本文介紹乙個在實際軟體中用過和一種方法,主要是把功能、許可權、選單結合到一起來,要求當前操作人員有什麼許可權就出現什麼選單項。可以根據需要,設定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
僅供參考.MySQL許可權開通的設計方案
mysql中的許可權管理和其他資料庫還是有很大的不同,它能夠實現幾種很特別的許可權場景 幾個人公用乙個賬號,看起來使用者名稱相同,密碼相同,但是許可權缺可以不同 幾個人用同乙個賬號,使用者名稱相同,但是密碼可以不同,許可權可以相同 幾個人用同乙個賬號,使用者名稱相同,但是密碼可以不同,許可權可以不同...
許可權管理之基於RBAC的設計方案
rbac role based accesscontrol,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。與acl 實現的區別在於,不能直接為使用者分配許可權,只能從角色那裡繼承而...
前後端分離模式下的許可權設計方案
前後端分離模式下,所有的互動場景都變成了資料,傳統業務系統中的許可權控制方案在前端已經不再適用,因此引發了我對許可權的重新思考與設計。在理解許可權控制之前,需要明白兩個概念 資源和許可權。什麼是資源,對於乙個系統來說,系統內部的所有資訊都可以理解為這個系統的資源。頁面是資源 資料是資源 按鈕是資源 ...