1. 程式人生 > >可擴充套件的後臺管理系統框架

可擴充套件的後臺管理系統框架

需求

對於公司內部業務系統,最基本的功能就是部門管理、使用者管理、角色管理、許可權管理、登陸功能。但是公司內部系統一般情況下,不止是一個(如果是一個那就是巨無霸,就面臨著被拆分,也會遇到我們後面要討論的問題)。那麼多個系統,面對上面的功能我們需要開發多套嗎?這是個問題值得思考。

需求分析與解決方案

面對上述的需求,對於程式設計師來講,只是一套程式碼到處複製而已,這樣就可以搞定問題。如果在上面的需求再增加一點,即是希望使用者登陸一個系統之後,也能訪問第二個系統,那如何解決呢?那就是單點登陸。那使用者的許可權呢?各系統管理各自的許可權,還是集中授權?第二種更簡單一點。比如最簡單就是新入職的員工,開賬號,開許可權,要找各個部門的相關人員。這是一件很麻煩的事情。

單點登入

關於這個我就不再介紹了,我的部落格相關文章已介紹了。

集中授權

首先我把我所理解的集中授權作個如下定義,以免後文出現歧義。集中授權,就是給使用者開許可權無需進入多個系統,只需使用一個許可權管理系統。集中授權的體現,就是這個同時管理多個系統許可權的許可權管理系統。它需要完成除登陸之外的所有需求。這樣我們就完成了部門、使用者、角色、許可權的統一管理。

如何整合

我們的一個個業務系統構建之後,如何與許可權管理系統、單點登陸系統進行整合?一般的作法是將業務系統的選單,按鈕等之合稱為之資源,通過選單的形式錄入許可權管理系統(我稱它為掛選單)。各個業務系統整合單點登陸,通過許可權管系統提供認證成功使用者的許可權,即完成整個系統的整合。

落地

jeesite是一個開源後臺管理系統,它提供了很多的功能。在此只需要它許可權管理部分即sys部分,我將其獨立摘出來作為一個系統,它提供了部門、使用者、角色、許可權、資源管理(掛選單)等功能。對業務系統提供dubbo服務完成使用者許可權的載入。單點登陸使用的是cas 。業務系統許可權管理使用 shiro框架,單點登陸整合cas,使用者認證成功許可權獲取通過dubbo服務。具體的可參考我的github上的專案jeesite-ex這個專案。