SNF快速开发平台2019-权限管理模型简介-权限都在这里
1.1??? 權限的概念
權限是指為了保證職責的有效履行,任職者必須具備的,對某事項進行決策的范圍和程度。它常常用“具有批準……事項的權限”來進行表達。例如,具有批準預算外5000元以內的禮品費支出的權限。再有劃分了系統的職權,不同的用戶擁有不同的職權劃分,在職權劃分的基礎上對職能范圍進行了限制。
權限管理,一般指根據系統設置的安全規則或者安全策略,用戶可以訪問而且只能訪問自己被授權的資源,權限管理幾乎出現在任何系統里面,只要有用戶和密碼的系統。
1.2??? 使用權限管理的必要性
權限管理對于商業信息化是有很大的幫助,它賦予了分配權力的能力,讓您的工作分擔給所有人,從而讓更多的人參與到您的管理當中。這樣的做法既可以提升工作效率還可以做到工作區域承擔,讓應該承擔管理責任的人參與管理,這是商業信息化必須要有的,也是信息化發展必然的結果。
1.3??? 模塊菜單是什么
模塊資源授權也稱菜單控制,由業務功能模塊列表和用戶菜單定制共同組成。每個用戶可以擁有自己的菜單,也可以直接采用角色缺省菜單(當用戶同時充當多個角色且權限重復時,重復的權限僅一次有效)。
1.4??? 動作按鈕是什么
動作權限分配也叫對象控制,對象是指應用系統窗口中的可視對象,如菜單項、按鈕、下拉列表框、操作事務等。
控制動作是通過角色與用戶授權來實現的。主要是對象屬性的控制(使能、禁止,可視、屏蔽)。
1.5??? 記錄級權限(數據權限)是什么
記錄級權限控制:簡單說就是一種檔案中有很多數據,而不同的人員能夠看到不同的檔案,也就是說一部分數據檔案只有一部分人看到,另外一部分檔案只有另外一部分人看到。舉個栗子:像客戶檔案,在一家公司中,有很多銷售助理,而不同的銷售助理只管理各自的客戶,別的助理的客戶我不需要看到和維護,故系統中控制記錄級權限—客戶檔案即可。
在我們的平臺上有兩種記錄級權限控制:
1、?????? 通過分級管理能控制管理者管理的人員,如職能、臨時組織、師傅管徒弟等場景。在每個業務表內規范都有創建人、修改人可以控制能看到哪些人的數據。
2、?????? 可以直接通過記錄級權限配置,人員直接能訪問的數據,如金額>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、河北省的管理員僅維護河北省的部門、人員、角色
4、石家莊市的管理員僅維護石家莊市的部門、人員、角色
當然還有化妝品、藥品、零售、快遞、建筑等行業也需要分級管理。
二、分級權限管理模型
當前企業管理在運行中遇到的主要問題是職責明確,分級授權管理模式能夠明確各級管理者的權限和職責。
管理模式主要包括用戶-角色分配管理、角色-權限分配管理和角色-角色分配管理,管理的范圍依賴于角色的繼承關系。在分層管理模式中引入了用戶和權限的概念,構造組織結構,重新定義角色和用戶,有效解決管理權限的分配問題。
三、開啟和不啟用分級授權分級管理
在大型組織中分級授權的管理模式能很好的把各個級別管理人員的權利和責任都明確的展現出來,而且方便了人員的管理。
但分級授權分級管理卻不使用中小型公司,過于繁瑣,浪費大量的管理成本。所以本系統可根據您的實際情況進行配置。
分級管理在程序中到底有什么不同呢?
用戶的管理權限是不同的,不啟用時用戶管理權限無限制(權限范圍是當前公司的所有管理權限),啟用時用戶管理權限有限制(權限范圍是當前用戶可管理的權限)。
下面是一個簡單的圖例,簡單闡述了啟用和不啟用的區別:
用戶A是X公司G部門擔任開發角色。
?
其它權限實踐系列文章:
1、角色、權限、賬戶的概念理解-非常全的理論講解權限控制?https://www.cnblogs.com/spring_wang/p/10954370.html
2、權限管理模型簡介-權限都在這里??https://www.cnblogs.com/spring_wang/p/10983935.html
3、權限管理模型實踐-權限都在這里?https://www.cnblogs.com/spring_wang/p/10983969.html
4、權限管理模型-平臺服務(多平臺\多組織\SAAS\多系統)?https://www.cnblogs.com/spring_wang/p/10983991.html
5、權限管理模型-記錄級-字段級權限實踐?https://www.cnblogs.com/spring_wang/p/10983999.html
6、用戶安全控制-權限管理模型實踐-權限都在這里?https://www.cnblogs.com/spring_wang/p/10983983.html
? ? ? ?7、SNF快速開發平臺成長史V4.5-Spring.Net.Framework-SNF軟件開發機器人?https://www.cnblogs.com/spring_wang/p/6742014.html
8、Spring.Net.FrameworkV3.0 版本發布了,感謝大家的支持?https://www.cnblogs.com/spring_wang/p/4203293.html
?
轉載于:https://www.cnblogs.com/spring_wang/p/10983935.html
總結
以上是生活随笔為你收集整理的SNF快速开发平台2019-权限管理模型简介-权限都在这里的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git 创建 本地 裸 仓库
- 下一篇: Leetcode 53 最大子串和