角色在操作上跟分組是一緻的,分組是需要關聯權限之外的,比如:
市場部,開發部,人事部,這是分組,在部門管理的時候,可以設定某個員工屬于哪個部門,即哪個分組。
角色隻是用來控制權限的,建立了角色,也是建立了一個分組,隻是這裡不涉及其他,隻是來控制權限。
1.權限表,專門儲存權限編碼,權限類别,權限名稱,次序。
編碼是唯一辨別
權限類别,把權限歸類,比如辦公審批屬于一大類,裡面有小類,比如加班審批,請假審批。
權限次序,多個權限歸類到一個大類的時候,可能需要排序。
2.權限模型表,專門儲存權限對應的頁面,圖示,次序,目标
對應的頁面,比如點選二級菜單跳轉到某個default.aspx?pid=1頁面
圖示,菜單對應的顯示圖檔。
次序,在一級菜單下顯示二級菜單時,控制次序。
目标,控制在哪個頁面打開,比如_blank或者_top
3.權限配置設定表,專門儲存某個使用者擁有哪些權限,使用者編号,權限編号
以此來判斷使用者是否擁有某種權限。
當使用分組與角色的時候,權限配置設定到分組或者角色,再關聯到使用者。
4.使用者分組,儲存某一分組擁有的權限值。使用者組編碼,使用者組名稱,對應權限值。
比如
group001 版主 role001
group001 版主 role002
為某一分組設定權限值,然後關聯分組下的使用者,該分組的使用者就都擁有這一類權限。
這裡應該分開,一個分組表,專門儲存分組編碼,分組名稱。
一個分組與權限關聯表,儲存分組編碼,權限值。一對多關系。
5.角色表,專門使用者儲存建立的權限角色,角色編碼,角色名稱,次序。
當需要單獨為某個人,或者某幾個人設定權限的時候,需要建立角色
6.角色與使用者關聯表,使用者id,角色id
建立角色的時候,如果關聯了某個使用者,就在此表中增加一條記錄。
7.角色在操作上跟分組是一緻的,分組是需要關聯權限之外的,比如:
8.判斷某個使用者是否擁有某個權限的時候,先判斷屬于哪個分組,再判斷這個分組是否擁有些權限。
再判斷擁有哪種角色,或者擁有哪幾種角色,再判斷這幾種角色是否擁有權限。
今天先思考到這裡,這是我的不成熟思考,誰有通用簡明的方法請不吝賜教。