SNF快速開發平臺2019-權限管理模型簡介-權限都在這裏

1.1    權限的概念

權限是指爲了保證職責的有效履行,任職者必須具有的,對某事項進行決策的範圍和程度。它經常用「具備批准……事項的權限」來進行表達。例如,具備批准預算外5000元之內的禮品費支出的權限。再有劃分了系統的職權,不一樣的用戶擁有不一樣的職權劃分,在職權劃分的基礎上對職能範圍進行了限制。html

權限管理,通常指根據系統設置的安全規則或者安全策略,用戶能夠訪問並且只能訪問本身被受權的資源,權限管理幾乎出如今任何系統裏面,只要有用戶和密碼的系統。spring

1.2    使用權限管理的必要性

權限管理對於商業信息化是有很大的幫助,它賦予了分配權力的能力,讓您的工做分擔給全部人,從而讓更多的人蔘與到您的管理當中。這樣的作法既能夠提高工做效率還能夠作到工做區域承擔,讓應該承擔管理責任的人蔘與管理,這是商業信息化必需要有的,也是信息化發展必然的結果。安全

1.3    模塊菜單是什麼

模塊資源受權也稱菜單控制,由業務功能模塊列表和用戶菜單定製共同組成。每一個用戶能夠擁有本身的菜單,也能夠直接採用角色缺省菜單(當用戶同時充當多個角色且權限重複時,重複的權限僅一次有效)。框架

1.4    動做按鈕是什麼

動做權限分配也叫對象控制,對象是指應用系統窗口中的可視對象,如菜單項、按鈕、下拉列表框、操做事務等。優化

控制動做是經過角色與用戶受權來實現的。主要是對象屬性的控制(使能、禁止,可視、屏蔽)。htm

1.5    記錄級權限(數據權限)是什麼

記錄級權限控制:簡單說就是一種檔案中有不少數據,而不一樣的人員可以看到不一樣的檔案,也就是說一部分數據檔案只有一部分人看到,另一部分檔案只有另一部分人看到。舉個栗子:像客戶檔案,在一家公司中,有不少銷售助理,而不一樣的銷售助理只管理各自的客戶,別的助理的客戶我不須要看到和維護,故系統中控制記錄級權限—客戶檔案便可。對象

在咱們的平臺上有兩種記錄級權限控制:blog

一、       經過分級管理能控制管理者管理的人員,如職能、臨時組織、師傅管徒弟等場景。在每一個業務表內規範都有建立人、修改人能夠控制能看到哪些人的數據。繼承

二、       能夠直接經過記錄級權限配置,人員直接能訪問的數據,如金額>1000元、部門=當前人的部門等。接口

 

1.6    字段級權限是什麼

字段級權限控制:仍是以客戶檔案爲例,當一個客戶檔案有多我的維護或者一個客戶檔案咱們要控制不一樣的人看到這個客戶檔案中具體的信息字段不一樣,咱們就須要勾選字段級權限控制了。

1.7    權限主體的分類

權限系統中的權限三元組概念,即Who(主體),What(資源),How(操做),這樣構成了權限三元組,無論你的權限系統多麼的複雜,其實核心都是這三個。

概念:
Who:權限的擁有者或主體(Principal、User、Group、Role、Actor等等)
What:權限針對的對象或資源(Resource、Class)。
How:具體的權限(Privilege,正向受權與負向受權)。
Role:是角色,擁有必定數量的權限。
Operator:操做。代表對What的How操做。

上面介紹的是What、How,下面介紹一下Who。

1.7.1  角色權限

角色,必定數量的權限的集合,是粗粒度和細粒度(業務邏輯)的接口。一個基於粗粒度控制的權限框架軟件,對外的接口應該是角色,具體業務實現能夠直接繼承或拓展豐富角色的內容,角色不是如同用戶或組織的具體實體,它是接口概念,抽象的通稱。角色的繼承經過組織來體現,因此不考慮角色的繼承關係。可是角色能夠與相關的組織相關聯,便於受權。

該權限模型基礎是RBAC模型。每一個用戶擁有若干角色,每一個角色擁有若干權限,構成「用戶-角色-權限」的受權模型。本程序完成了RBAC3,最複雜也是最全面的RBAC模型,它在RBAC0的基礎上,將RBAC1和RBAC2中的優化部分進行了整合。

1.7.2  用戶權限

用戶的權限是多方面的,有用戶直接配置的權限,用戶-權限。所歸屬角色的權限,用戶-角色-權限。還有所在組織權限,用戶-組織-權限。還包含崗位權限,用戶-組織-崗位-權限。最終是以權限來實現對資源的訪問控制。

1.7.3  組織機構權限

組織,權限分配的單位與載體,直接映射組織關係。權限不考慮分配給特定的用戶。組織能夠包含用戶,組織內用戶繼承組織的權限。組織要實現繼承。即在建立時必需要指定該組織的父級組織是什麼組織。在粗粒度控制上,能夠認爲,只要某用戶直接或者間接的屬於某個組織那麼它就具有這個組織的全部操做許可。細粒度控制上,在業務邏輯的判斷中,用戶僅應關注其直接屬於的組織。

1.7.4  崗位權限

識別用戶的主要身份。一我的可能身兼多職(多個角色),可是他的主要職能是固定的,那怎麼告訴系統用戶的主要職能是什麼呢?答案就是:經過崗位!拿小馬哥舉例:小馬哥身兼經理和財務兩種身份,但他的本職工做是「經理」,所以,他的系統崗位應該「經理」。當他登陸時,系統會識別他的身份爲「經理」,只不過這個「經理」恰好兼具了其餘崗位的職能而已;

經過「組織-崗位」關聯,快速甄別用戶崗位。公司在不斷地發展的過程當中,系統的用戶角色也會不斷增長,當角色達到必定數量之後,管理員每新增一個用戶都要花至關的時間去尋找角色。引入崗位後,可將組織和崗位、崗位和角色提早進行關聯,配置帳號時,管理員只要選定組織,系統就給出與該組織關聯的崗位,而這些崗位,又是提早關聯好角色的,選擇起來,既方便又高效!

1.8    分級受權

1、假設一個場景:一個業務系統,用戶爲國家環保部、省級環保局、地市環保局 三級;若是統一由國家環保部維護全部的部門、用戶信息,工做量太大,

且環保部的系統管理員沒法詳細瞭解省級、地市的人員信息、角色信息,根本無從維護。

因此須要分級管理,即針對不一樣組織(部門)設置管理員,每一個管理員僅維護本組織的人員、角色信息,如

一、國家環保部的管理員僅維護部裏的部門、人員、角色

二、北京市的管理員僅維護北京市環保局的部門、人員、角色

三、河北省的管理員僅維護河北省的部門、人員、角色

四、石家莊市的管理員僅維護石家莊市的部門、人員、角色

固然還有化妝品、藥品、零售、快遞、建築等行業也須要分級管理。

2、分級權限管理模型

當前企業管理在運行中遇到的主要問題是職責明確,分級受權管理模式可以明確各級管理者的權限和職責。

管理模式主要包括用戶-角色分配管理、角色-權限分配管理和角色-角色分配管理,管理的範圍依賴於角色的繼承關係。在分層管理模式中引入了用戶和權限的概念,構造組織結構,從新定義角色和用戶,有效解決管理權限的分配問題。

3、開啓和不啓用分級受權分級管理

在大型組織中分級受權的管理模式能很好的把各個級別管理人員的權利和責任都明確的展示出來,並且方便了人員的管理。

但分級受權分級管理卻不使用中小型公司,過於繁瑣,浪費大量的管理成本。因此本系統可根據您的實際狀況進行配置。

分級管理在程序中到底有什麼不一樣呢?

用戶的管理權限是不一樣的,不啓用時用戶管理權限無限制(權限範圍是當前公司的全部管理權限),啓用時用戶管理權限有限制(權限範圍是當前用戶可管理的權限)。

下面是一個簡單的圖例,簡單闡述了啓用和不啓用的區別:

用戶A是X公司G部門擔任開發角色。

 

其它權限實踐系列文章:

  一、角色、權限、帳戶的概念理解-很是全的理論講解權限控制 http://www.javashuo.com/article/p-opdqilbw-mh.html

  二、權限管理模型簡介-權限都在這裏  http://www.javashuo.com/article/p-rpcqepwb-mk.html

  三、權限管理模型實踐-權限都在這裏 http://www.javashuo.com/article/p-alutacwb-mm.html

  四、權限管理模型-平臺服務(多平臺\多組織\SAAS\多系統) http://www.javashuo.com/article/p-ttssgzsf-mo.html

  五、權限管理模型-記錄級-字段級權限實踐 http://www.javashuo.com/article/p-gmzxnrhu-mk.html

  六、用戶安全控制-權限管理模型實踐-權限都在這裏 http://www.javashuo.com/article/p-qrkcjxnr-mn.html

       七、SNF快速開發平臺成長史V4.5-Spring.Net.Framework-SNF軟件開發機器人 http://www.javashuo.com/article/p-prbltqyl-hp.html

  八、Spring.Net.FrameworkV3.0 版本發佈了,感謝你們的支持 http://www.javashuo.com/article/p-ypjknwfp-kw.html

相關文章
相關標籤/搜索