1. 程式人生 > >Django -- 許可權初識

Django -- 許可權初識

需求分析-場景

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

1、許可權等級不同

  公司領導登入後可檢視所有員工的資訊,部門領導登陸後之可檢視本部門員工的資訊,員工登入後只能檢視自己的資訊

2、訪問許可權不同

  如公司領導登入後,可檢視員工薪水分佈介面,而員工則不能看到;

3、操作許可權不同

  如系統管理員可以在資訊釋出介面進行增刪改查釋出資訊,兒普通員工之可以在資訊釋出介面進行檢視,不能修改、刪除和新增。

功能分析

1. 登入一個系統,基本都需要使用者輸入使用者名稱、密碼;

2. 每個使用者的角色不同,則其訪問許可權

一般也不同,如:

  系統管理員:可以檢視所有介面;

  普通使用者: 只能檢視部分介面;

3. 不同的使用者,即使可以檢視同樣的介面,但在該介面上課進行的操作許可權也不同,如:  

  使用者1:可以在介面1上進行增刪改查;

  使用者2:只可以在介面上1上檢視,不具備增刪改功能;

4. 不同使用者基本都對應不同角色,如:使用者1、使用者2分別對應管理員角色、操作員角色,角色之間也存在許可權等級的差異,如:       角色1:對應省級管理員;==>可以檢視該省下的所有學校資訊;       角色2:對應市級管理員;==>可以檢視該市下的所有學校資訊;       角色3:對應縣級管理員;==>可以檢視該縣下的所有學校資訊; 不管是省、市、縣哪個系統管理員,他們可訪問的介面都是相同的(即 訪問許可權相同
),且在每個介面上可進行的 操作許可權也相同的,不同的是每個管理員角色可以訪問的學校個數和學校範圍不同,這裡稱這種不同為: 許可權等級不同;   總結: 從上面的分析中,主要涉及到以下幾個概念: 1.角色:        如系統管理員角色,系統操作員角色,普通使用者角色;        不同的角色,其訪問許可權是不同的,即可訪問的模組(介面)集合是不同的;        角色的許可權等級也不同,許可權等級如:公司領導、部分領導、普通員工; 2. 模組:(介面)     模組就是指具體的介面,每個模組上又有不同的操作,如增刪改查; 3. 訪問許可權:確定角色可以訪問的模組(介面)集合; 4. 操作許可權:確定可以在各模組(介面)上進行的操作集合,如增刪改查; 5. 許可權等級:即確定角色可以訪問的範圍,如:          角色1:許可權等級為公司領導,則可以檢視公司所有員工資訊;          角色2:許可權等級為部門領導,則只可以檢視該部門所有員工資訊。

資料庫設計