PMS-受權中心

概述html

受權中心用基於角色的訪問控制思想(RBAC-Role Based Access Control)來實現各個業務系統的功能權限及數據權限控制。功能權限是指可否進入頁面及使用頁面上的操做。數據權限控制主要有組織,品類,項目三個維度。組織層級比較多,目前有一級單位(股份公司),二級單位(工程局及區域聯採中心等),三級單位,四級單位,五級單位等。web

 

關於組織spring

一我的屬於某個組織,能夠擁有多個組織的角色。需求明確指出不能採用切換組織的方式來作。要一次性查詢角色組織的本級或本下級的相關數據。數據庫

組織的管理層級有一級單位(股份公司),二級單位(工程局及區域聯採中心等),三級單位,四級單位,五級單位。安全

組織的機構性質有公司及區域聯採中心。websocket

後來金服又提出須要擴展是否法人單位及三證相關信息,這些信息僅僅是金服在用,沒有複雜的業務邏輯。框架

 

關於品類:運維

品類有兩大類,即物資類和分包類,其中物資類包括物資,設備,專業服務;分包類包括勞務分包,專業分包。每一個一級品類又包括幾十種二級品類。socket

目前的管控需求是控制到二級品類。二級品類上頁面須要設置採購策略及映射商品類別。ide

 

關於用戶:

用戶主要有登陸名,姓名,職位,手機號,用戶身份等重要屬性。整個平臺的用戶都存儲在一張表中,用戶身份包括採購商,供應商,供應商子賬號,總包方,分包方,勞務人員,平臺管理員,共7種。這7種用戶類型能夠按業務規則進行組合,隨意組合可能不具備意義。其中總包方,分包方,勞務人員主要是勞務使用。

 

用戶分類

用戶分爲平臺級,組織級,項目級三類。

1. 顧名思義,平臺級用戶所屬組織爲平臺,主要是運營,客服,售後,開發團隊相關的人員等等。好比給一個運營妹子分配一個八局的合規性檢查人員的角色,數據權限爲本下級,品類權限是物資,那麼她就只能管理八局本下級物資相關的合同,訂單,結算單等數據。

2.組織級用戶主要是股份公司,二級單位(局級),三級單位(號碼公司等),四級單位,五級單位等領導及業務人員(招投標,合同,訂單,結算,合規性檢查等等人員)。強調一下,這些公司多是法人單位也可能不是,好比一些大的經理部也可能納爲五級單位。有一點必須遵照,項目不能添加到組織樹中。

3.項目級用戶,即項目現場的收貨人員,進度檢查人員,質量檢查人員,安全檢查人員等等。

 

關於角色:

角色主要有所屬系統,所屬組織,角色名稱,角色類型等屬性,能夠設置功能權限。由於組織機構樹層級比較多,各個組織的管理需求又各不相同。因此只能讓各個組織本身去規劃角色。可是咱們要實現分級受權。好比平臺可能看到幾乎全部的權限(有些權限只能開發或運維同事使用),同時也要精確控制股份公司,二級單位(局級),三級單位,四級單位,五級單位的權限設置。

 

關於數據範圍:

數據範圍有平臺級,股份公司級,(按組織查看)本級,(按組織查看)本上級,(按組織查看)本上級等。不一樣的業務有不一樣的管控需求,使用不一樣的數據範圍控制。

好比模板管理使用本上級的數據範圍控制。好比一局一分公司在招標過程當中使用招標公告模板時,可能用戶最想要的功能是先查看本級的招標公告模板,而後還能夠查看上級的招標公告模板。

再好比柖標管理使用本下級的數據範圍控制,同時還有建立人,採購經辦人等特殊邏輯。

 

重要約定:

1. 受權中心要支持多系統受權。所以它的實現要儘可能不要和具體系統的業務耦合,保證其單一性,可擴展性。

2.  功能點分爲系統級,平臺級,用戶級。

    a)系統級:好比受權中心的系統管理,菜單管理,組織遷移等只能由開發人員或運維人員使用。

    b)平臺級:好比供應商註冊審覈,准入信息變動,供應商管理,商城廣告位管理,商城推薦管理等運營後臺相關功能只能由運營團隊,客服團隊等使用的功能。

    c)用戶級:業務方的管理功能。再也不區別是股份公司,二級單位,三級單位等層級,只需採用分級受權體系層層控制便可。好比有些功能只能由股份公司級使用,就只分配給他這一級就能夠了。至於他要不要再分配到下級由他們本身控制。

3. 精確控制每個組織的可見權限集,由此來實現分級受權體系。

4. 業務角色分爲業務角色,功能角色兩種。

    a) 業務角色指業務系統中相關業務職位、權力的表明,好比採購經辦人,採購員,採購經理,商務部經理,商務部業務人員,領導,合規性檢查人員,進度管理人員,質量管理人員,安全管理人員,項目經理,財務,法務。

    b)功能角色指業務系統中的各操做人員的權限集合。

5. 不容許同一我的有多個組織的功能角色,只能擁有同一個組織的多個功能角色。

6.若是一我的擁有某組織的系統管理員功能角色,就不能再擁有其它功能角色了。可是他能夠擁有其它的業務角色。

7. 多個業務系統使用統一的登陸頁面。

8. 多個業務系統中的項目庫,產品庫,企業庫(即組織機構,好比採購商,供應商,總承包,分包單位, 建設單位,設計單位,監理單位,政府部門,施工企業等單位基本信息)使用一套表存儲,不能每一個業務系統本身搞。

9.組織權限設置須要有兩個層級:組織級系統管理員,項目級系統管理員?

 

我感受既然選擇框架,用security比較好。能夠和spring其它模塊無縫接合,好比websocket stomp

我感受security,shiro中不該該有role受權,能夠把role當成一個特殊的authoritysecurity,shiro都整了兩個概念(role, authority)反而增長了複雜度。

 

Spring Security 入門系列

http://www.spring4all.com/article/428

https://springcloud.cc/spring-security-zhcn.html

springBoot+springSecurity 數據庫動態管理用戶、角色、權限

http://www.javashuo.com/article/p-riusrenz-dq.html

http://blog.csdn.net/u013412066/article/details/50667960

相關文章
相關標籤/搜索