看一個武俠故事,明白權限的那些事兒

19 評論 5995 瀏覽 69 收藏 38 分鐘

在武俠故事里,功能權限和數據權限體系的解說由“李平”之口娓娓道來。

01

大理寺官衙的一棵古樹下,一位青衣書生正拿著一篇案牘在讀。絲絲涼風吹過,腰間的半片古玉隨風飄蕩。

“啟稟大人,您有一封來自蕊雪客棧的書信,落款是個紅字……”

小吏雙手捧著一封書信,恭敬地站在三尺開外。

“噢?快快呈上?!币宦犚妬碜匀镅┛蜅?,又是一紅字,李平直接丟下了手頭的案牘。

“來,給我?!崩钇较有±舫实锰讲刹奖嫉搅诵±裘媲?,一把搶過了書信。

“權限……”看著書信,李平低聲嘀咕了一句。

疾步走回房間,速速起草了一封回信,仔細卷好,封好火漆后,遞給在門口等待的小吏。

“用飛鴿回復,要快?!崩钇秸f。

“大人,這個不太……?”

“你不用擔心,照我說的做就是了,沒事?!?/p>

小吏領命前去。

“許久未見,不知道紅姑娘如今如何,聽說仰慕者甚重呢,即是紅姑娘所托,還需做更好的準備才好?!毕胫@些,李平回到書桌旁,開始伏案書寫。

蕊雪客棧二樓露臺。

紅姑娘取下飛鴿腳上的信件,抬手將信鴿放飛了回去。

“他同意了呢”紅姑娘笑著扭頭對旁邊的木落說。

“你還真是會替他考慮,也算是一舉兩得吧?!蹦韭湮⑿φf道。

“終于可以把這半塊玉佩還給他了,他這么重情重義,讓人家壓力好大……”紅姑娘嬉笑著搖了搖手里的半塊古玉。

“那可是人家為報救命之恩給你留下的好吧,也就你整天如此嫌棄……”木落微笑著搖頭。

“舉手之勞啊,其實完全不用的,而且也完全用不上呢,還得老念著如何把它還回去……”紅姑娘一付碎碎念心不甘的表情。

木落微笑著不說話。

“如果其他人知道紅姑娘還有如此小女兒的一面,估計都不敢相信吧。”木落默默地想。

02

八月初八。

“聽說了嘛?今天似乎是一位大理寺大官來講學呢。”一個搖著扇子,腰跨寶劍的書生洋洋自得的說道。

“紅姑娘還真是手眼通天呢……嘖嘖嘖……”一個消瘦老漢連聲吧嗒。

“今天似乎要講權限?這是什么鬼東西?”一個濃眉大眼的大漢奇怪地嘟囔道。

“你們懂什么,這可是律法底層的規則,你也不想想大理寺是干什么的,了解了這些規則,行走江湖豈不是快意很多?”

“這位姑娘說的不錯,我看大家還是耐心等待著吧,來講學的人中,又有哪次是讓諸位失望的呢?”

“風公子說的有理?!北娙思娂姼胶?。

“小姐,那人就是風公子,據說古道熱腸,你說我們要不要……”二樓一位戴著斗笠的女客向旁邊坐著的另一位女客說。

“再看看,先看看今天講的是什么吧?!绷硪晃慌突氐?,女客斗笠上的畫字若隱若現。

只聽外面一陣馬嘶響起,眾人紛紛探頭看去。

只見一人青衣飄飄,面色如玉,身后還跟了一隊素衣侍衛,雖是侍衛,卻隱隱撲面而來一股兇煞之氣。

“哎呦,看起來來頭不小呢,護送的人都是上過戰場的呢?!币粋€蠟黃臉的中年嘖嘖稱奇。

只見青衣少年翻身下馬,極為利索地走進客棧。

抬頭望向站在二樓的紅姑娘,神色極度認真,極為恭敬地鞠了一躬。

紅姑娘微微頷首。

“那就先開始吧,大家已經等了好久了呢?!奔t姑娘微笑開口。

“好?!?/p>

青衣少年邁步走向客棧中央空出來的講臺。

“在下李平,目前添為大理寺少卿,今日受紅姑娘所托,前來講授權限相關事項。”

客棧中響起了一片嗡嗡聲。

木落一拍額頭,“忘了讓他不要明示自己的官位了……”

紅姑娘抿嘴笑道:“沒事,這次帶來的人看起來還不錯呢,再不濟,你到時候護送他回去好了……”

“……”木落無奈搖搖頭。

李平站著未動,臺下漸漸安靜了下來。

“既講權限,首先要明白權限是什么?”

“權限,一般是指系統設置的安全規范,主要用來控制用戶僅可查看/修改自己被授權的資源或信息。更多意義上是說,你需要控制某些用戶只能做什么,不能做什么時,需要使用權限。”

“如果是開放式的,不需要控制,那么便完全不用權限?!?/p>

“既然要控制用戶,那么一定是要管理的,只有管理才需要控制。所以,我們可以發現,在有管理訴求的場景下,會需要使用權限,在CRM、ERP、電商后臺、企業服務(釘釘、企業微信)等涉及管理的系統,都需要有相應權限控制?!?/p>

“了解了具體應用的場景,那么我們先了解一下權限到底分為哪幾類?!?/p>

“一般情況下,我們從功能和數據兩位維度來將權限分為功能權限和數據權限?!?/p>

李平隨手遞了一張圖給旁邊侍立的小二,小二張貼在講臺后面立著的板面上。

功能權限+數據權限體系初解「武俠體」

“當然,這里也有必要解釋一下什么是功能權限和數據權限?!?/p>

“功能權限,顧名思義,控制是否可以操作某些功能的權限,一般比如增加、刪除、查詢、修改,這類權限,我們認為是功能權限。當然,不同業務會有不同的權限控制,這里只是舉一個例子。功能權限意味著,你頁面上的任何一個按鈕,都可以是一個權限?!?/p>

“數據權限,顧名思義,控制是否能看到某些數據的權限。比如有多個城市,可能某些用戶只能看單一城市的權限,某些用戶能看多個城市的權限;甚至某個城市分了多個區域,某些用戶只能看單一區域的數據,這就是數據權限?!?/p>

說完,又拿出了一張紙,小二恭敬接過,貼在了板面上。

功能權限+數據權限體系初解「武俠體」

“了解了基礎概念之后,我們來詳細解說一下權限模塊相關的結構和設計?!?/p>

03

“下面,我們先說功能權限部分,功能權限如果詳細區分,還可以區分為頁面權限和按鈕權限。”

“這兩種權限可以分開管理,也可以統一管理,由于性質基本類似,所以本次放在一起進行講解?!?/p>

小二將泡好的茶,端上了講桌,李平含笑微微頷首表示感謝。

“前面我們已經講了,權限是用來控制人的。那么權限的結構就出來了,就是把權限賦予人?!崩钇诫S手抽了最上面一張圖遞給了旁邊侍立的小二。

功能權限+數據權限體系初解「武俠體」

“一般情況下,對于小團體,或者成員不多,結構不復雜,其實這就足以滿足訴求了?!?/p>

“當然,你們所了解的功能權限可能并不是這樣,為什么不是這樣的呢?因為如果僅僅只這樣做,會遇到一些問題,我們接下來描述一個場景,你就大概明白了。”

“現在團體只有2個人,用的是同樣的權限,你給每個人都分配了需要的功能。然后團體變大了,5個人、10個人、100個人、1000個人。假設每個人要配置的權限是20個,則每多一個人,則多出來一倍的量,人一多,怕是要哭暈在廁所了。”

臺下一片哄笑。

“所以,在場景一的情況下,權限的配置會變得十分繁瑣。不是十分合理,因為未考慮權限體系的擴展性,人一多,效率就會變得極其低下。且一旦有修改,你就需要每個人獨立修改……那時候怕是哭都哭不出來了……”李平微笑著繼續開口。

臺下又是一片笑聲。

斗笠上帶著“畫”字的少女“噗”的一聲笑出了聲。

“這人有點意思。”她忙拿起茶杯,抿了一口說道。

“因此,這種權限體系并不是特別友好,擴展性較低,那有沒有更好的方法呢?”李平并未受臺下的影響,神秘一笑。

“基于角色的權限訪問控制,Role-Based Access Control,簡稱RBAC,今天我們講功能權限的核心也是這個?!?/p>

“RBAC根據場景的不同,有多種變種方式,我們會根據場景逐一講解,今天先講最基礎的RBAC權限控制?!崩钇诫S手將手邊的圖紙遞給小二。

功能權限+數據權限體系初解「武俠體」

“在這套權限體系中,我們在原有權限結構的基礎上,新增了一個中間值,叫角色。將對應的權限賦予相應的角色,然后把角色賦予給人,則人就會擁有該角色所擁有的全部權限。”

李平隨手又遞了一張圖,小二恭敬地貼在板面上。

功能權限+數據權限體系初解「武俠體」

“一個權限可以賦予給多個角色,一個角色也可以擁有多個權限。一個人可以擁有多個角色,一個角色也可以賦予多個人,雖然他們是多對多的關系,但是請注意箭頭指向,代表著誰賦予誰。人擁有角色,角色擁有權限。”

“這樣看起來略有一些抽象,我們根據場景還原一下,這樣會加深理解?!?/p>

“場景一:我朝約有1500余縣,每縣設縣令,每個縣令的權限都一致,約有50余項權利。那么此時我們如何做呢,我們只需要建立一個’縣令’的角色,將對應權限賦予該角色,然后將人都配上縣令這個角色即可。就可避免出現每個縣令均需要配置50余項權利,只配置一次即可。”

李平端起案桌上的水杯喝了一口,略作停歇。

“場景二:一縣令即將升任為刺史,但新縣令尚未派遣,此時,該縣令既需要擁有刺史相應的權利,也需要負責縣令相關的事物,那么此時,就可以將’刺史’,’縣令’兩個角色均賦予該人,則該人即有用刺史的權利,也有用縣令的權利?!?/p>

(注:州為縣的上級,一州約轄5縣。——百度百科)

“場景三:前段時間朝廷剛發布公文,鹽政不再由各個州縣自行管轄,均收歸國有,由國家直接管轄,那么縣令將不再有鹽政管轄相關權利,此時,我們只需要將縣令角色中鹽政管轄功能去掉,所有的縣令均不再有該功能權利。調整會十分方便?!?/p>

“場景四:揚州刺史告老還鄉,僅需將刺史之角色從該官員身上拿走,則該官員即無管轄之能,對其他刺史毫無影響,也十分便利?!?/p>

李平略停頓了下,環顧四周,發現眾人皆在仔細思考,微微一笑。

“由此可見,RBAC權限架構體系,具有更好的擴展性和便捷性。那么講到這里,RBAC的基礎功能已經講完了。”

“這部分架構已基本適用于大多數的團體,一般情況下已足夠使用。當然,為了適應更復雜的場景,RBAC還有一些進階版本,我們下面將開始講它的進階版本,以便于滿足更復雜的場景?!?/p>

講完了RBAC的基礎,李平忽然頓了頓,開口說道:“諸位若對剛才講的有什么疑惑,也可直接提出來,我們當場解答。”

“這套體系是否適用于所有團體?”二樓一個窗口,一個穿著金色華服的少年若有所思的問道。

“難道說乾通天下的少東家要拿這套東西管理自家的錢莊?”一層大廳的眾人議論紛紛。

“趙公子還真是有想法,就是不知道他老爹是否會任著他胡鬧。”一個有著絡腮胡子的漢子干了一碗酒說道,眼中隱隱約約透露出不屑。

“可不能這么說,你還不知道吧,當年大陸兩大錢莊爭雄,一方敗北,乾通天下開始雄霸大陸,據說背后完全是趙公子的手段呢,那時候趙公子才幾歲?”拿著扇子的書生一臉感嘆的表情看著二樓說道。

“你說的可是真的?”絡腮漢子一臉震驚。

“真的假不了,假的也真不了,你且以后看著就是?!睍黠@不愿解釋很多。

李平微笑著看向二樓。

“這套體系經過朝廷這幾十年來的驗證,幾乎可適配任何團體。不過……”

“不過什么?”趙公子追問。

“不過每個團體都有自己團體獨立的管理手段和方法,并不是所有團體都跟朝廷體制一樣。因此,對于不同團體,還需要在該理論的基礎上做一些擴展,讓這套理論能夠和自身團體的管理方法相結合,才能更好地發揮作用?!?/p>

趙公子若有所思地點點頭。

李平收回了目光。

“剛才所說的架構已經基本適用于所有團體,當然會有一些進階的結構用來適應于更多的場景,我們將對這些較為復雜的場景逐一講解,以便于大家更好的理解這套體系?!?/p>

“目前每縣設縣令一人,師爺一人,捕快三人,每人權限不同,有大有小。按照我們上面的結構,縣令有縣令的權限,師爺有師爺的權限,捕快有捕快的權限,分別獨立設置即可滿足?!?/p>

李平將一張圖遞于小二。

功能權限+數據權限體系初解「武俠體」

“場景五:縣令有縣令的權限,師爺有師爺的,捕快有捕快的,很完美。但是也會有一些小問題。前段時間朝廷取消地方鹽政管理的相關權限,那么縣令的權限要調整一遍,師爺的權限也要調整一遍,在角色不多的情況下,一切都還好,若有大量角色時,依然會十分繁瑣。”

“那么有沒有更好的方法呢?”李平笑著看了一下四周。大家似乎都還挺感興趣。

然后,他抽出一張紙遞給了小二。

功能權限+數據權限體系初解「武俠體」

“我們可以在角色上增加層級的概念,上層角色會自動擁有下層角色擁有的全部權限。同時該角色也可以有自己的獨立的權限,最終上層角色的權限集合是所有權限的并集?!?/p>

“在這種方式下,就會較完美的處理上面這種場景的問題,取消地方鹽政權限,直接將師爺的權限取消,縣令自然就沒有相關權限了。這種方式,叫做繼承。即上級角色繼承下級角色的功能?!崩钇酵A艘幌拢员阌诖蠹依斫夂拖?。

“當然,這里涉及到了一個角色層級的概念,其實本質上是組織架構,就像我朝現在的組織架構一樣,不過這些目前暫不是重點。后面有機會會再單獨講組織架構相關內容。”

“這種較為復雜的場景講完了,我們來看另外一種場景?!?/p>

小二拿著茶壺走了上來,默默地將水杯里的水加滿。

“場景六:我是大理寺少卿,平時一般負責審理相關案件,前段時間,有人在御前參了我一本,狀告我重重罪行,最終該案件被移至大理寺評審?!?/p>

“還有這等趣事?”木落聽到后笑道。

“在皇帝面前狀告他的兒子,也真是佩服朝中某些人能做的出來。”紅姑娘笑著說。

“畢竟此事知者甚少,也難怪,短短幾年走完別人要走一生的路,皇帝偏袒的有點過了,也怪不得別人試探?!蹦韭湟馕渡铋L的說。

紅姑娘笑著看了木落一眼,沒有說話。

“雖然我為大理寺少卿,但我已身涉案件,自然不能再做審理?!崩钇江h顧一周。

“說道這里,大家應該都大概明白了,一個人不能既是被告,又是法官。在這套體系中亦如是。因此,面對這種場景,體系中應該有明確沖突的角色限定。即若你是某個角色,你就不能是另外一個角色?!?/p>

小二很自覺地前去接過李平手中的圖紙。

功能權限+數據權限體系初解「武俠體」

“因此,在有必要的情況下,還需要在權限體系中去定義互斥類的角色,以避免某天真的出現了既是法官,又是原告的尷尬情況?!?/p>

臺下一片哄笑。

“對于限制性,除了避免出現沖突的角色分于同一個人之外,還有一種場景需要諸位考慮?!?/p>

“場景七:每天開始的時候,縣令有自己的一堆事情要做,批改文書,審理案件,捕快也有自己的一堆事情要做,抓捕犯人,例行巡邏。你會發現,雖然縣令擁有所有的權限,但是對于他自己本身的工作而言,在他的工作臺中,他需要關注的內容和捕快需要關注的內容是不一樣的?!?/p>

“你沒辦法要求縣令每天上街巡邏,你也不能讓縣令去處理捕快的工作,因此,在整個權限體系中,在某些特殊場合下,還需要定義角色的優先級,或者僅允許一個主要角色進行處理?!?/p>

李平喝了一口水,臺下眾人皆若有所思。

“定義角色優先級指的是,若你既是縣令,又是捕快(即權限工作出現重疊的時候),你需要按照縣令的身份,去處理縣令的工作,批改文書,審理案件。縣令這個角色的優先級比捕快高?!?/p>

功能權限+數據權限體系初解「武俠體」

“當然,如果你作為一個縣令,一定要去實際體驗捕快的工作的話,那就在工作臺中切換角色為捕快,那么此時就會告訴你縣城里有哪些街道需要巡邏,哪些犯人需要抓捕?!?/p>

功能權限+數據權限體系初解「武俠體」

李平緩緩將杯中的水喝完,給眾人留了幾分鐘思考的時間。

“那么,在權限體系已經到了這種情況下,是否還有可以提升的地方呢?”

臺下議論紛紛,都這么多場景了,應該沒有了吧。

趙公子眉頭緊鎖,似乎覺得已經能解決所有問題,但是又感覺似乎還缺點什么。

“似乎,如果職位切換比較頻繁的時候,還欠缺了點什么?”趙公子不太確定地說道。

李平深深的看了趙公子一眼,心道,這少年果然不一般。

“誠然,這里面其實還有更深的兩層可以考慮?!?/p>

“場景八:我朝每年都會派遣一批人,作為監察御史,分東南西北四方體察民情,大事奏裁,小事立斷,政事得失,軍民利病,皆得直言無避。這些監察御史平時都有自己的職責和角色,在分派去往不同方向巡查時,需分配給每個人相應的權限,在巡視結束,有需要將每個人相應的權限收回。由于巡查人數眾多,雖然有權限體系支持,但依然過于繁瑣。”

李平略作停頓。

“因此,基于此,我們引入用戶組的概念,我們設立‘監察御史’組,給監察御史組分配了‘監察御史’的角色權限,然后將所有成員拉入‘監察御史’組,則該成員自動擁有‘監察御史’組所擁有的權限。等任務完成后,直接將成員清除該監察御史組即可,對應成員自動失去監察御史的權限。通過這種方式,更加方便地管理。”

小二從李平手里接過一張圖貼在了板子上。

功能權限+數據權限體系初解「武俠體」

“基于此,基本上功能權限體系已經講完了。”

04

“但是,權限這套體系是否真的是能解決所有問題?他的優勢在哪里?劣勢又在哪里呢?”

“RBAC權限體系依據角色為載體,更加方便所有成員權限的管理(新增+調整),這是一個巨大的優勢,但請一定關注,這套體系是用來更加方便的管理權限的,它不是權限本身?!?/p>

“那權限本身是什么?”一個黃臉漢子直接開口問。

李平笑了一下,還未說話。

“李公子剛才已經說了,對應功能權限而言,你的頁面,你頁面上的任意一個按鈕,那才是權限。”風公子倒是接上了話。

黃臉漢子臉一紅,默默地低頭喝水。

“那劣勢是什么呢?”看到問題已解決,李平繼續說道。

“RBAC是基于角色的一套體系,那么既然是基于角色,那么角色一定是個最小單元。那就意味著,同一角色的權限一定是一樣的。但是,實際上是否真的是一樣的呢?我朝1500余縣,每縣皆有一位師爺,但是每縣的師爺擁有的權限一定相同么?”

“林業比較發達的縣,師爺要關注林業,而無林業,卻有漁業的縣,師爺要關注的漁業。兩方資源都有的,師爺也需要關注兩方。所以,雖然RBAC帶來了極大地便利性,但在同時也喪失了一部分靈活程度。”

“我們要知道,直接把權限賦予人,即最基礎的權限管理,雖然維護和管理起來十分費事,但卻也最自由?!?/p>

“因此,是否有可能將RBAC和最基礎的權限管理結合一下呢?”李平微笑說道。

“這個問題就算是留給各位的思考題了,若有所得,也可相互間交流一番。消息留在客棧即可,我收到后自會回復?!?/p>

李平端起水喝了一口,茶杯還未放下,就接著開口。

05

“功能權限講完了,我們來說一下數據權限?!?/p>

“既然說數據權限,那就需要明確一下數據的概念,這里的數據并不是你能看哪個頁面不能看那個頁面的意思,那個是頁面權限,跟數據權限沒關系?!?/p>

“那么數據權限到底是什么?我舉一個例子大家就明白了。每個縣每年的征兵數據、田賦數據、人口出生和死亡數據,都由每個縣獨立管理,其他縣無法獲知其他縣數據。刺史因為下轄五縣,因此他能知道下面五個縣所有的數據,但刺史也并不知道其他州的數據,逐級向上擴展?!?/p>

“所以,數據要確認的是能看到的數據范圍?!崩钇教ь^看了趙公子一眼。

“就像對于乾通天下,各個地方的掌柜,也只能掌握自己錢莊的收支、借貸和利潤,而不會知道其他錢莊的數據,而對于負責一整個區域的大掌柜,則可以看到其區域所有的錢莊的數據,而對于少東家,就能知道所有的數據?!?/p>

趙公子點了點頭。

“那么對于數據權限,如何處理呢?”李平微微抬頭,望向臺下。

“聽李公子舉的幾個例子,數據權限涉及到層級,層級越低的人看的越少,層級越高的看的越多,那就是跟組織架構有關了?”風公子站起來說。

李平笑著點點頭。

“風公子說的不錯,確實跟組織架構有關。當然也會有其他方式,我們先講一種簡單的方式?!?/p>

李平遞給小二一張圖,小二順利接過。

功能權限+數據權限體系初解「武俠體」

“這種方式與基礎的功能權限有點類似。即將每個縣的數據,都作為一個點,如果是某縣縣令,則分配對應縣數據,對于刺史,就分配五個縣的數據。”

臺下人紛紛搖頭,這樣太麻煩了吧,1500余縣,要死人的。

李平靜靜的聽著臺下的討論,并未開口。

臺下討論一會后,慢慢的安靜了下來。風公子的眼中似乎有了一絲其他的神采。趙公子也忽然揚了揚眉毛。

“其實,對于大多數團體,沒有太多區域的時候,這種方式可能才是最靈活,最簡單的。除非已經擴展到了很大的區域。畢竟不是每個團體都跟朝廷一樣的。”

臺下人均點點頭,表示認可。

“那么若區域很大的時候,應該如何通過數據權限管理呢?”趙公子忽然問道。

“如果說基礎的數據權限管理和功能權限管理是類似的話,那么解決數據權限的思路是否也跟功能權限類似?”風公子忽然接到。

李平望向風公子,暗嘆,果然不愧是能以一己之力在江湖闖下偌大名頭的風公子,聰明絕頂,一點就通。

“風公子說的沒錯,他們確實是類似的。上面已經提到了,數據權限很依賴層級,那么組織架構就需要大概說一下了,其實比較簡單?!?/p>

李平伸手向小二遞出了一張圖。

功能權限+數據權限體系初解「武俠體」

“組織架構相對比較好管理,更多的是一個部門間的層級關系。那么數據權限本身是什么呢?”

功能權限+數據權限體系初解「武俠體」

“數據權限包括:全部數據,本部全部數據,本部及子部全部數據,本人全部數據,本人及下屬全部數據。這里需要簡單解釋下這幾種數據權限的含義。”李平環顧了一下四周。

臺下眾人皆是眉頭緊鎖。李平心道,果然數據權限雖然解釋起來很簡單,但真正落地理解時還是會有很大難點。

“數據權限本身與層級結構完全沒有關系,是獨立于功能權限和組織架構之外的一套體系,但由于它跟層級又有緊密聯系,所以,它與組織架構又緊密相連。”

“全部數據指的是全部的實際數據,這是一個無比慎重的權限。只要將該權限分配給任意一個人,他就能看到全部的數據。哪怕分配給一個縣令,它也能看到我朝全部的數據,因此,這個數據權限分配時要非常慎重?!?/p>

李平低頭喝了一口茶,發現茶有些涼了,就隨手放到了桌邊。

小二看到,里面上前端走去換新茶。

“本部全部數據,即意味著可以查看本部的全部數據,對一個縣令而言,就可查看自己縣全部的數據。”

“本部及子部全部數據,即意味著可以查看本部及附屬部的全部數據,對于州長官刺史而言,就需要可以看到州的數據和下屬五個縣的數據?!?/p>

李平接過新茶,飲了一口。

“敢問先生,那本部全部數據和本部及子部全部數據,這兩個數據權限有何區別呢?”二樓戴著斗笠的女子起身施了一禮,問道。

李平環顧了一下四周,發現大多數人皆有疑問。

“這是個好問題。就以揚州為例,揚州刺史除了負責揚州本城所有數據信息以外,也需要負責下轄五縣的所有數據信息。而對于揚州刺史下屬的判司等職,其實只需要關注揚州本城的所有數據,那么在此時,他們僅需要本部的全部數據,而無需去負責下轄部門的所有數據。這就是這兩種數據權限的區別,會讓數據的管理更加靈活一些?!?/p>

眾人聽后,略作思索,紛紛點頭。

“那對于個人數據和個人及下屬的數據就比較好理解了。對于一個捕快而言,他抓了哪些囚犯,哪些審訊的結果如何,每個捕快只需要關注自己的數據即可,其他捕快的數據可能并不需要對其開發,他也不需要了解。而如果捕快需要助手的時候,助手處理的信息其實該捕快也需要關注?!?/p>

“當然,在這里引出了一個助手的概念,那么在成員管理的時候,就需要能在體系中明示這個人的助手是誰,是否的話,這個權限就與個人數據權限是完全一致的?!?/p>

“數據權限本身已經說完了。那么到底如何管理呢?”

李平遞了一張圖給小二,小二恭敬的貼在板子上。

功能權限+數據權限體系初解「武俠體」

“其實跟功能權限很類似,功能權限中我們用角色承載功能權限分給成員,在數據權限中我們用職權承載數據權限分給成員。當然,在不同的團體中,是叫職能還是職權還是其他的,就看怎么理解起來更順暢了?!?/p>

“數據權限講到這里,基本上也就差不多了,但還有一點需要大家關注,對于上面所說的賦稅、人口等信息需要數據權限控制,那么對于朝廷對外發布的公文是否也需要數據權限的控制呢?”

“這個自然是不用的,這本來就是給所有人看的?!睋u著扇子的書生回道。

“嗯,所以,到底什么樣的數據需要使用數據權限控制,也是需要定義的,這點勿忘。”李平道。

“這里有一張圖可以明確表示功能權限和數據權限的應用,可以看一下,加深理解?!?/p>

李平遞了一張圖給小二。

“權限體系講到此就差不多了,多謝各位聆聽。”李平站在臺上向諸人施禮。

06

李平正待抬步走向二樓紅姑娘的位置,忽然一個侍衛進來進來對其耳語了幾句。

李平聽后眉頭一皺,隨即立在當場,抬手向紅姑娘方向說道:“今日幸不辱使命,原想多逗留幾日,但皇城似乎發生了大事,待我處理完后再前來賠罪。我這里留下了一些實際使用時的部分書稿,若有興趣,也可分給眾人。”

說完,不待紅姑娘回復,便快速轉身離去。

“剛好卡在這個點上,是擔心我們與其接觸么?”紅姑娘微微笑著望向木落。

木落搖搖頭,嘆了一聲。

“我走一趟吧。”說完飛身下樓。

“接著這個。”紅姑娘丟出手中的半塊古玉。

木落反身接住,徑直出了客棧。

人潮開始漸漸走出客棧,風公子也站起身來,向紅姑娘走去,似要告別。

“小姐,你再不下決斷,風公子就要走了……”戴著畫字斗笠的一位女客對旁邊的女客說。

旁邊的女客,眼神慢慢由猶疑變為堅定,站起身來……

 

作者:?contsun;公眾號:腳量產品路

本文由 @contsun 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 用戶有組織架構,可參照職級數據權限,比如本部門即子部門

    用戶有角色,角色打包了功能權限
    那么,業務數據權限,如果不掛在角色上(為了不創建很多功能權限相同但數據權限不同的角色,造成冗余)
    應該是可以直接設置給用戶,或者創建數據權限包(包含多維度的數據權限規則),然后賦予用戶
    這樣是否可以解決問題

    來自陜西 回復
    1. 可以的啊,這不就是文章中聊的“職能”么,專門用來處理數據權限的打包問題。

      來自北京 回復
  2. 厲害了

    來自上海 回復
  3. 干貨好文,點贊。
    還有一種思路,對角色既有功能權限,同時也配置了數據權限。這樣進行授權。不知到對比起來優劣怎么樣

    來自廣東 回復
    1. 這種方式會導致整個結構無比復雜,因為耦合在一起的話,任何一點小小的區別,就需要重新設置角色。比如功能權限都一樣,數據權限不同,就要重新設置角色。

      來自北京 回復
  4. 好文!角色可以再向下最深,就是權限資源管理,基于資源配置角色,角色擴展性更好更靈活

    回復
    1. 你說的資源配置不知是不是這個意思:角色既有功能權限,同時也配置了數據權限?

      來自廣東 回復
  5. 話說起來你是公司的組織架構么。每個人都有對應角色組定義:運營、UI、產品等等。里面的部長、組員就是角色。不同的角色有著各自數據范圍,上級可以看到所有下級角色數據。

    其實這個還要補充一點。每個公司核心都是有對應的產業鏈。產業鏈和金錢密切相關。對應產業鏈有著對應的核心數據和分支數據。每個角色至少占一個核心數據。dui?z

    回復
  6. 寫的這個角度很有新意啊,厲害~

    來自北京 回復
    1. 哈哈,有幫助就好,感謝

      回復
  7. 最后一張圖不太清楚

    來自山東 回復
    1. 需要大圖么,可以單發你

      回復
  8. ?? ?? ?? 生動有趣

    來自北京 回復
    1. 哈哈,有幫助就好~

      回復
  9. 厲害,受益匪淺

    來自北京 回復
    1. 有幫助就好,比心~

      回復
  10. 公子真乃神人也 ??

    來自上海 回復
    1. 哈哈,感謝,你想寫的話,你也可以的

      回復
    2. 期間提了個問題?請問是什么答案

      來自山東 回復