天天看點

對使用者權限設計的思考

角色在操作上跟分組是一緻的,分組是需要關聯權限之外的,比如:

市場部,開發部,人事部,這是分組,在部門管理的時候,可以設定某個員工屬于哪個部門,即哪個分組。

角色隻是用來控制權限的,建立了角色,也是建立了一個分組,隻是這裡不涉及其他,隻是來控制權限。

1.權限表,專門儲存權限編碼,權限類别,權限名稱,次序。

編碼是唯一辨別

權限類别,把權限歸類,比如辦公審批屬于一大類,裡面有小類,比如加班審批,請假審批。

權限次序,多個權限歸類到一個大類的時候,可能需要排序。

2.權限模型表,專門儲存權限對應的頁面,圖示,次序,目标

對應的頁面,比如點選二級菜單跳轉到某個default.aspx?pid=1頁面

圖示,菜單對應的顯示圖檔。

次序,在一級菜單下顯示二級菜單時,控制次序。

目标,控制在哪個頁面打開,比如_blank或者_top

3.權限配置設定表,專門儲存某個使用者擁有哪些權限,使用者編号,權限編号

以此來判斷使用者是否擁有某種權限。

當使用分組與角色的時候,權限配置設定到分組或者角色,再關聯到使用者。

4.使用者分組,儲存某一分組擁有的權限值。使用者組編碼,使用者組名稱,對應權限值。

比如

  group001     版主     role001

  group001     版主     role002

為某一分組設定權限值,然後關聯分組下的使用者,該分組的使用者就都擁有這一類權限。

這裡應該分開,一個分組表,專門儲存分組編碼,分組名稱。

一個分組與權限關聯表,儲存分組編碼,權限值。一對多關系。

5.角色表,專門使用者儲存建立的權限角色,角色編碼,角色名稱,次序。

當需要單獨為某個人,或者某幾個人設定權限的時候,需要建立角色

6.角色與使用者關聯表,使用者id,角色id

建立角色的時候,如果關聯了某個使用者,就在此表中增加一條記錄。

7.角色在操作上跟分組是一緻的,分組是需要關聯權限之外的,比如:

8.判斷某個使用者是否擁有某個權限的時候,先判斷屬于哪個分組,再判斷這個分組是否擁有些權限。

再判斷擁有哪種角色,或者擁有哪幾種角色,再判斷這幾種角色是否擁有權限。

今天先思考到這裡,這是我的不成熟思考,誰有通用簡明的方法請不吝賜教。

繼續閱讀