權(quán)限管理系統(tǒng)定義
權(quán)限管理是一個(gè)幾乎所有后臺系統(tǒng)的都會涉及的一個(gè)重要組成部分针史,主要目的是對整個(gè)后臺管理系統(tǒng)進(jìn)行權(quán)限的控制,而針對的對象是員工碟狞,避免因權(quán)限控制缺失或操作不當(dāng)引發(fā)的風(fēng)險(xiǎn)問題啄枕,如操作錯(cuò)誤,數(shù)據(jù)泄露等問題族沃。其實(shí)權(quán)限管理的設(shè)計(jì)并不難频祝,就目前來說最廣泛的是一個(gè)賬號對應(yīng)多個(gè)角色,每個(gè)角色對應(yīng)相應(yīng)的權(quán)限集(RBAC模型)這種模型基本可以應(yīng)對所有的問題脆淹,且通過角色可以實(shí)現(xiàn)靈活且多樣的的權(quán)限操作需求常空,我們梳理一下上面主要提到的幾個(gè)名詞:賬號、角色盖溺、權(quán)限漓糙。
賬號的定義
每個(gè)員工想要進(jìn)入系統(tǒng)肯定都會有一個(gè)賬號,而這個(gè)賬號就是一把鑰匙烘嘱。我們通過控制賬號所具備的權(quán)限昆禽,進(jìn)而控制這個(gè)員工的授權(quán)范圍。因此需要告誡員工蝇庭,賬號密碼不能輕易提供他人醉鳖,不然遇到的問題由自己承擔(dān)。
角色的定義
角色管理是確定角色具備哪些權(quán)限的一個(gè)過程哮内,他是一個(gè)集合的概念盗棵,是眾多最小權(quán)限顆粒的組成。我們通過把權(quán)限給這個(gè)角色北发,再把角色給賬號纹因,從而實(shí)現(xiàn)賬號的權(quán)限,因此它承擔(dān)了一個(gè)橋梁的作用鲫竞。引入角色這個(gè)概念辐怕,可以幫助我們靈活的擴(kuò)展,使一個(gè)賬號可以具備多種角色从绘。
角色的命名最好按照職位而定寄疏,例如市場部普通員工是牢,市場部主管等。因?yàn)槁毼辉谌魏纹髽I(yè)都是存在的陕截,且是有限的驳棱,并且容易理解,市場部文員那就是市場部文員角色农曲,方便我們配置權(quán)限時(shí)的判斷社搅,避免配置錯(cuò)誤。
權(quán)限的定義
權(quán)限可以分為三種:頁面權(quán)限乳规,操作權(quán)限形葬,數(shù)據(jù)權(quán)限。
頁面權(quán)限控制你可以看到哪個(gè)頁面暮的,看不到哪個(gè)頁面笙以,很多系統(tǒng)都只做到了控制頁面這一層級,它實(shí)現(xiàn)起來比較簡單冻辩,一些系統(tǒng)會這樣設(shè)計(jì)猖腕,但是比較古板,控制的權(quán)限不精細(xì)恨闪,難以在頁面上對權(quán)限進(jìn)行更下一層級的劃分倘感。
操作權(quán)限則控制你可以在頁面上操作哪些按妞。(延伸:當(dāng)我們進(jìn)入一個(gè)頁面咙咽,我們的目的無非是在這個(gè)頁面上進(jìn)行增刪改查老玛,那在頁面上對應(yīng)的操作可能是:查詢,刪除钧敞,編輯逻炊,新增四個(gè)按鈕)可能你在某個(gè)頁面上,只能查詢數(shù)據(jù)犁享,而不能修改數(shù)據(jù)。
數(shù)據(jù)權(quán)限則是控制你可以看到哪些數(shù)據(jù)豹休,比如市場A部的人只能看到或者修改A部創(chuàng)建的數(shù)據(jù)炊昆,他看不到或者不能修改B部的數(shù)據(jù)(延伸:數(shù)據(jù)的控制一般通過部門去實(shí)現(xiàn),每條記錄都有一個(gè)創(chuàng)建人威根,而每一個(gè)創(chuàng)建人都屬于某個(gè)部門凤巨,因此部門分的越細(xì),數(shù)據(jù)的控制層級也就越精細(xì)洛搀,這里是否有其他好的方式除了部門這個(gè)維度還有其他什么方式可以控制數(shù)據(jù)權(quán)限)敢茁。
權(quán)限的分配
權(quán)限的分配要合理,很多公司分配給部門權(quán)限的時(shí)候很隨意留美,部門要什么權(quán)限就給什么權(quán)限彰檬,其實(shí)這是有隱患的伸刃,我們更多需要更深入的考慮部門能有什么權(quán)限,而不是要什么權(quán)限逢倍,而這一塊往往被忽略捧颅。