1. 程式人生 > >完整的許可權管理系統,你有這樣完整許可權的設計嗎?

完整的許可權管理系統,你有這樣完整許可權的設計嗎?

很多人都知道以角色為基礎的許可權管理設計(RBAC),但是大部分人似懂非懂,不知道完整的許可權管理系統都包括哪些內容。
   在此以許可權管理的使用場景來說明一下完整的許可權管理內容。
  
   一是鑑權管理,即許可權判斷邏輯。
  
   1. 最基本的許可權管理就是選單管理,使用者沒有許可權的功能模組在選單節點上是不顯示的。(很多人以為這就是許可權管理!)
      示例:普通業務人員登入系統後,是看不到【使用者管理】選單的。
     
   2. 功能許可權管理,B/S系統的功能體現為URL,所以功能許可權管理主要是針對URL訪問的管理。(很多人都不清楚許可權管理的物件是什麼?)
      示例:
      經過授權,部門經理可以檢視【使用者管理】選單,並檢視部門使用者資訊,但許可權設計要求,該部門經理沒有新增使用者的許可權。
      所以在訪問【新增使用者】的功能(URL)時,應該有沒有授權的提示資訊。
      同時在【使用者管理】頁面上,【新增使用者】的按鈕應該灰色顯示,不能點選。
     
   3. 行級許可權管理
      示例:
      論壇管理員,許可權設計要求 A能管理論壇 【新聞版塊】,不能管理論壇 【技術交流】
      此時的許可權設計就應該根據論壇的相應ID來判斷許可權資訊。
     
   4. 列級許可權管理
      示例:
      業務許可權設計要求,除銷售人員以外,其他使用者不能看到客戶的聯絡方式資訊。
      此時的許可權設計要判斷相應的欄位(列)是否可以顯示。
     
   5. 組織機構/部門級資料許可權管理
      示例:
      業務許可權設計要求,銷售一部的人員只能看到本部門的銷售訂單,銷售二部的人員只能看到本部門的銷售訂單,但銷售經理可以同時看到
      銷售一部和銷售二部的銷售訂單。
      此時的許可權設計就要根據銷售訂單資料本身的部門屬性來做判斷
     
   6. 範圍型業務資料許可權管理
      示例:
      大賣場銷售人員在下銷售訂單時,要選擇相應的產品所在倉庫資訊。
      業務許可權設計要求,【國美】的銷售人員在選擇倉庫的下拉列表中不能看到【廣州倉庫】,而【大中電器】的銷售人員在選擇倉庫的下拉列表中不能看到【北京順義倉庫】
     
   二是授權管理
,即許可權分配過程。以上的許可權管理內容都要通過系統的授權功能來分配給具體的使用者,授權功能應該足夠靈活。
  
   1. 直接對使用者授權,直接分配到使用者的許可權具有最優先級別。
  
   2. 對使用者所屬崗位授權,使用者所屬崗位資訊可以看作是一個分組,和角色的作用一樣,但是每個使用者只能關聯一個崗位資訊。
  
   3. 對使用者所屬角色授權,使用者所屬角色資訊可以看作是一個許可權分組,每個使用者可以關聯多個角色。
  
   4. 角色直接關聯具體的功能許可權(URL),也可以關聯負許可權,即此角色關聯的許可權不能使用負許可權功能。負許可權具有優先級別。
  
   5. 分級授權,系統管理員可以將自己擁有的許可權資訊授權給其他使用者。即可以設定分級管理員和超級管理員。
  
   以上才是一個完整的許可權管理系統,你有這樣的完整許可權的設計嗎?