系統設計中權限管理的一般模型簡單介紹

系統設計中權限管理的一般模型簡單介紹

中小型企業Web開發中,系統權限管理都是必不可少的重要模塊,一般都是基於多角色多用戶的權限管理模式。一套完善的權限管理架構,有利於後期業務的順利開發,以及其他項目的複用,節省開發成本。

這裡介紹一下權限管理的一般模型,不會考慮單點登錄情況,權限驗證的過程可以這樣描述:

  1. 用戶訪問登錄頁面,填寫用戶和密碼,登錄成功後,會將自己的個人和權限相關信息,保存到session中,也可以存儲在內存、redis中;

  2. 用戶訪問其他頁面資源時,會根據訪問的具體路徑,與用戶權限資源授權情況進行匹配,驗證是否有權限訪問;

  3. 如果有權限,返回需要顯示的頁面,如果無權限,提示用戶相應的資源無權訪問;

系統設計中權限管理的一般模型簡單介紹

在具體管理和分配用戶權限設計中,一般需要抽象出如下實體模型概念:

  1. 用戶:即需要訪問系統西資源的的主體;

  2. 角色:分配權限的最小單元,給用戶分配角色,用戶也就擁有了角色所匹配的權限資源權限;

  3. 權限菜單:權限的最小單元,一個角色可以配置多個權限菜單,也就是具體的資源;

系統設計中權限管理的一般模型簡單介紹

一般系統中,為了方便權限管理,會有單獨寫系統設置權限設置中心,統一管理用戶、角色和各個系統的權限菜單。權限菜單由各個子系統同步或者提供批量導入的功能,權限菜單標識的命名的規則要根據具體情況約定好,統一的菜單命名風格,有助於權限控制的管理。

系統設計中權限管理的一般模型簡單介紹

還有重要一點就是數據權限的隔離,用戶擁有了訪問和操作某些數據的權限,但並不是可以訪問所有的數據,可能只能訪問和操作自己的數據,可能只能訪問和操作本機構或者組內的數據,這是更細粒度的權限控制。

權限驗證可能在前端、可能在後端,嚴格時些前後端都要有效控制。前端根據當前用戶的權限,顯示不同的菜單項、操作按鈕,後端根據當前用戶的權限,驗證操作的合法性,返回可訪問的數據集合,權限驗證位置也要考慮全面。

系統設計中權限管理的一般模型簡單介紹


分享到:


相關文章: