最近再做許可權管理系統,採用shiro做為許可權框架,配合cas作為單點登入服務。可以靈活的實現對使用者許可權細粒度的控制。這篇部落格拋開使用的技術實現,理一理整個設計思路。
我們的專案引入雲的概念,我自己也不是理解的很透徹,我試試看能不能說的明白。整個系統有子系統a、b、c 以及許可權系統。每個序號產生器構擁有自己的資料庫,和一套服務。雲平台需要管理每個序號產生器構可使用的資源,也就是說要控制每個機構的許可權。許可權系統則需要在雲平台授權的資源的基礎上,管理使用者的許可權。如下圖:
如圖所示,許可權系統以aop的方式切入各個子系統,這裡是通過shiro實現的。也就是說,如果平台下增加了資源,系統的也好,模組也好。只要將對應的資源資訊匯入到平台下的資料庫中,然後就可以通過授權來控制是否被使用。
這裡的問題是,當使用者登入時我們無法確定使用者是屬於哪乙個機構,儲存在哪乙個資料庫裡。所以,我們將機構裡的所有使用者,包括雲平台自己的使用者抽出和登入相關的字段儲存在雲平台的資料庫的乙個表中。然後,統一從雲平台的入口配合cas進行登入驗證。登入時根據在該表中取得的機構的id來確定對應的資料庫,進而確定使用者。各子系統也是如此。如下圖:
我們還遇到的問題是雲平台和許可權系統的資源同步問題。即當機構所對應的角色發生改變時,或者當機構所擁有的資源被禁用或者刪除時。如何將這種改變同步到各個機構的許可權系統的資料庫中。
分析:首先禁用或者刪除是不應該發生的。也就是說序號產生器構擁有的許可權是不允許被禁用或者刪除的。所以我們只考慮當機構對應的角色增加了資源時,我們才考慮同步的問題。這裡的同步的決定權要交給機構自己來決定。如下圖:
總結:實際上,雲平台就是乙個大的許可權系統,各個序號產生器構是它的使用者。而許可權系統是機構使用者控制自己已有資源的系統,它的使用者就是普通意義上的使用者。本篇先介紹到這裡!
Linux 許可權的概念
一 linux下有倆種使用者 1.超級使用者 root 在linux下可以幹任何事,不受限制 2.普通使用者 user 在linux下做有限的事 超級使用者的命令提示符是 普通使用者的命令提示符是 切換倆種使用者的命令 su 1.從user切換到root su root root可以省略 2.從ro...
Linux系統下的檔案許可權操作
linux系統上對檔案的許可權有著嚴格的控制,用於如果相對某個檔案執行某種操作,必須具有對應的許可權方可執行成功。這也是linux有別於windows的機制,也是基於這個許可權機制,linux可以有效防止病毒自我執行,因為執行的條件是必須要有執行的許可權,而這個許可權在linux是使用者所賦予的,通...
遠端運維(監控)系統概念 雲
私有雲 private clouds 是為乙個客戶單獨使用而構建的,因而提供對資料 安全性和服務質量的最有效控制。該公司擁有基礎設施,並可以控制在此基礎設施上部署應用程式的方式。私有雲可部署在企業資料中心的防火牆內,也可以將它們部署在乙個安全的主機託管場所,私有雲的核心屬性是專有資源。公有雲通常指第...