權(quán)限管理系統(tǒng)定義
權(quán)限管理是一個幾乎所有后臺系統(tǒng)的都會涉及的一個重要組成部分,主要目的是對整個后臺管理系統(tǒng)進行權(quán)限的控制,而針對的對象是員工,避免因權(quán)限控制缺失或操作不當引發(fā)的風(fēng)險問題,如操作錯誤,數(shù)據(jù)泄露等問題。其實權(quán)限管理的設(shè)計并不難,就目前來說最廣泛的是一個賬號對應(yīng)多個角色,每個角色對應(yīng)相應(yīng)的權(quán)限集(RBAC模型)這種模型基本可以應(yīng)對所有的問題,且通過角色可以實現(xiàn)靈活且多樣的的權(quán)限操作需求,我們梳理一下上面主要提到的幾個名詞:賬號、角色、權(quán)限。
賬號的定義
每個員工想要進入系統(tǒng)肯定都會有一個賬號,而這個賬號就是一把鑰匙。我們通過控制賬號所具備的權(quán)限,進而控制這個員工的授權(quán)范圍。因此需要告誡員工,賬號密碼不能輕易提供他人,不然遇到的問題由自己承擔。
角色的定義
角色管理是確定角色具備哪些權(quán)限的一個過程,他是一個集合的概念,是眾多最小權(quán)限顆粒的組成。我們通過把權(quán)限給這個角色,再把角色給賬號,從而實現(xiàn)賬號的權(quán)限,因此它承擔了一個橋梁的作用。引入角色這個概念,可以幫助我們靈活的擴展,使一個賬號可以具備多種角色。
角色的命名最好按照職位而定,例如市場部普通員工,市場部主管等。因為職位在任何企業(yè)都是存在的,且是有限的,并且容易理解,市場部文員那就是市場部文員角色,方便我們配置權(quán)限時的判斷,避免配置錯誤。
權(quán)限的定義
權(quán)限可以分為三種:頁面權(quán)限,操作權(quán)限,數(shù)據(jù)權(quán)限。
頁面權(quán)限控制你可以看到哪個頁面,看不到哪個頁面,很多系統(tǒng)都只做到了控制頁面這一層級,它實現(xiàn)起來比較簡單,一些系統(tǒng)會這樣設(shè)計,但是比較古板,控制的權(quán)限不精細,難以在頁面上對權(quán)限進行更下一層級的劃分。
操作權(quán)限則控制你可以在頁面上操作哪些按妞。(延伸:當我們進入一個頁面,我們的目的無非是在這個頁面上進行增刪改查,那在頁面上對應(yīng)的操作可能是:查詢,刪除,編輯,新增四個按鈕)可能你在某個頁面上,只能查詢數(shù)據(jù),而不能修改數(shù)據(jù)。
數(shù)據(jù)權(quán)限則是控制你可以看到哪些數(shù)據(jù),比如市場A部的人只能看到或者修改A部創(chuàng)建的數(shù)據(jù),他看不到或者不能修改B部的數(shù)據(jù)(延伸:數(shù)據(jù)的控制一般通過部門去實現(xiàn),每條記錄都有一個創(chuàng)建人,而每一個創(chuàng)建人都屬于某個部門,因此部門分的越細,數(shù)據(jù)的控制層級也就越精細,這里是否有其他好的方式除了部門這個維度還有其他什么方式可以控制數(shù)據(jù)權(quán)限)。
權(quán)限的分配
權(quán)限的分配要合理,很多公司分配給部門權(quán)限的時候很隨意,部門要什么權(quán)限就給什么權(quán)限,其實這是有隱患的,我們更多需要更深入的考慮部門能有什么權(quán)限,而不是要什么權(quán)限,而這一塊往往被忽略。