權限設計-系統登陸用戶權限設計


需求分析-場景:

假設需要為公司設計一個人員管理系統,並為各級領導及全體員工分配系統登錄賬號.有如下幾個要求:

1.權限等級不同:公司領導登錄后可查看所有員工信息,部門領導登錄后只可查看部門員工信息,員工登錄后只可查看自己的信息. 

2.訪問權限不同;如公司領導登錄后,可查看員工薪水分布界面,而員工則不能看到;

3.操作權限不同:如系統管理員可以在信息發布界面進行增刪改查發布信息,而普通員工只可以在信息發布界面進行查看,不能修改.刪除和新增.

 

功能分析

1.登錄一個系統,基本都要輸入用戶名,密碼;

2.每個用戶的角色不同,則其訪問權限一般也不同,,如:系統管理員:可查看所有界面;普通用戶:只能查看部分界面.

3.不同的用戶,及時可以查看同樣的界面,但在該界面上可進行的操作權限也不同,如

用戶1:可在界面1上進行增刪改查;

用戶2:只可以在界面以上查看,不具備增刪改功能;

4.不同用戶基本都對應不同的角色,如:用戶1.用戶2分別對應管理員角色,操作員角色,角色之間也存在權限等級的差異,如:

角色1:對應省級管理員; ==>可以查看該省下的所有學校信息;

角色2:對應實際管理員;==>可以查看該市下的所有學校信息;

角色3:對應縣級管理員:==>可以查看該縣下的所有學校信息;

不管是省.市.縣哪個系統管理員,他們可訪問的界面都是相同的(即訪問權限相同),且在每個界面上可進行的操作權限也相同,不同的管理員角色可以訪問的學校個數和學校的范圍不同,這里稱這種不同為:權限等級不同.

總結:

 

從上面的分析中,主要涉及以下幾個概念:

1.角色:

系統管理員角色

系統操作員角色

普通用戶角色;不同的角色,其訪問權限是不同的,即可訪問的模塊(界面)集合是不同的;角色的權限等級也不同,權限等級如:公司領導,部分領導,普通員工

2.模塊(界面)模塊就是指具體的界面,每個模塊上又有不同的操作,如:增刪改查

3.訪問權限:確定角色可以訪問的模塊(界面)集合

4.操作訪問權限:確定可以在各個模塊(界面)上進行操作集合如增刪改查;

5.權限等級:即確定角色可以訪問的范圍,如:

角色1:權限等級為公司領導,則可以查看公司所有員工信息

角色2:權限等級為部門領導,則只可以查看該部門所有員工信息

 

數據庫設計


總體模型:
 
 

1.模塊定義表:

模塊是分層級的,如:信息管理–>聯系方式管理;
每個模塊都有上級模塊。

2. 角色定義表:

含有角色權限等級,用於為角色分配權限等級;
角色權限等級:是一個菜單選項,包括公司領導、部門領導、普通員工;

3.授權定義表:

用於給角色分配訪問權限以及為每個模塊分配操作權限;
1個角色可以含有多個模塊,同樣1個模塊可以分配給多個角色,所以角色和模塊是多對多的關系;這種多對多的關系可以使用關系表來實現,即通過聯合主鍵和實現關系表:
表中含有字段“操作權限”,用於給每個界面分配操作權限,見下圖:
若該模塊有增刪改查功能,則操作權限15,即二進制的“1111”,若該模塊只有查看功能,則操作權限為2,即二進制的“0010”,同樣的,“0111”表示該模塊有增、改、查功能;

4. 系統用戶表:

該表中“角色權限等級”—>應與“所屬角色”中的權限等級保持一致,之所以該表中重復該字段,是為了方便查詢。
角色權限等級取值:
  1. 公司領導:company_id不能為空;
  2. 部門領導:company_id、dept_id不能為空;
  3. 普通員工:company_id、dept_id、staff_id不能為空;



登錄執行過程


1. 系統登錄時,首先輸入用戶名、密碼;
2. 確定訪問權限:
   2.1 判斷該用戶的“角色編號”;
   2.2 在“授權定義表”中根據該“角色編號”查找相應的模塊,找到的模塊集合即是訪問權限;
3. 確定操作權限:
   3.1 在2.2步驟中查詢到的每個模塊都有相應的操作權限,即構成了每個模塊的操作權限;
4. 確定權限等級:
   4.1 結合該用戶的“角色權限等級”+“公司標識”+“部門標識”+“員工標識”,到員工信息表中去查找相應員工,具體如下:
   角色權限等級取值:
   1. 公司領導:查找<員工信息表.公司標識==該用戶.公司標識>的所有用戶;
   2. 部門領導:查找<員工信息表.公司標識==該用戶.公司標識 && 
                                  員工信息表.部門標識==該用戶.部門標識>的所有用戶;
   3. 普通員工:查找<員工信息表.公司標識==該用戶.公司標識 && 
                                  員工信息表.部門標識==該用戶.部門標識 && 
                                  員工信息表.員工標識==該用戶.公司標識>的所有用戶;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM