關于權限管理的設計

在做b端產品夯秃,不可避免的遇到權限管理,權限設計堤舒,根據(jù)什么樣的角色色建,授予什么樣的權限,然而權限還涉及到數(shù)據(jù)權限和功能權限舌缤,在說什么是權限箕戳,先引入角色的概念

什么是角色

角色,通俗的說国撵,你是什么樣的角色陵吸,例如你是管理員和普通用戶,是兩個角色介牙,管理員擁有所有的權限走越,而普通用戶只有部分權限。

管理員可以對普通用戶設置權限耻瑟,例如旨指,普通用戶A之前是可以查看和刪除評論功能,管理員修改了普通用戶A的權限喳整,不能進行刪除評論功能谆构,此時普通用戶A只有查看的權限。沒有刪除的權限框都,至于刪除按鈕是否顯示搬素,這是前端設計:

方案一:可以保留刪除按鈕,置灰操作或者點擊提示你沒有刪除權限;

方案二:隱藏刪除按鈕熬尺,普通用戶沒有刪除按鈕摸屠。

在說到管理員和普通用戶兩種角色,他們分別對應不同的權限粱哼,同事在一個系統(tǒng)里季二,會出現(xiàn)很多種角色,所有需要對角色進行管理揭措,增胯舷、刪、改绊含、查桑嘶、設置權限、最基本的五項躬充,其中刪除功能在設計過程中要引起注意逃顶,刪除角色,該角色中人員充甚,人員在系統(tǒng)中有操作行為產生了數(shù)據(jù)口蝠,直接刪除角色,會導致系統(tǒng)報錯津坑。

舉個簡單的例子妙蔗,在商城系統(tǒng)中,人員A在在系統(tǒng)中創(chuàng)建了商品疆瑰,而創(chuàng)建商品的是只有“店長”這個角色可以創(chuàng)建商品眉反,所以人員A就擁有店長這個角色。這里說明下穆役,人員A不是屬于店長這個角色寸五,而是擁有,是一個人員對應對個角色的關系耿币。此時把店長角色刪除了梳杏,而人員A只設置了一個店長這個角色的時候,該人員自然就報錯了淹接,他不屬于任何角色十性。

回到角色管理,一個角色對應哪些權限塑悼,而管理員擁有所有權限劲适,所以在設計權限管理的過程中要注意管理員和普通角色這兩種角色

功能權限設計

權限設計词疼,可以把一個系統(tǒng)所有的功能設計相應的權限景鼠,例如商城管理中,商品管理這個模塊泞坦,在設計權限過程中,就設計到如下權限:

a愕贡、新增商品

b草雕、修改編輯商品

c、商品的上架下架

d固以、刪除商品

e墩虹、查看商品

......

以上是功能權限,設計過程中嘴纺,可以將每個功能設計復選框败晴,管理員擁有所有權限浓冒,流程上實現(xiàn)方式如下:

創(chuàng)建用戶--->選擇角色--->設置權限栽渴。例如創(chuàng)建的用戶B可以新增商品,編輯商品稳懒,上下架商品闲擦,查看商品,但是出于安全考慮场梆,不允許用戶B刪除商品墅冷,設置用戶B對應的角色中不設置有刪除商品的功能。

設計功能權限應該注意什么

一或油、管理員權限

由于一個系統(tǒng)寞忿,一個平臺使用的人員較多,涉及到的角色也較多顶岸,會出現(xiàn)一個系統(tǒng)多個管理員腔彰,分級管理員的情況。另外由于系統(tǒng)處于開發(fā)中辖佣,會一直新增功能霹抛,如果管理員也是同普通角色一樣,勾選權限列表功能(全選)卷谈,雖然是全選杯拐,但是后續(xù)新開發(fā)的模塊,需要一一的去權限世蔗,一來麻煩端逼,二來設計的也不合理,所有管理員的權限污淋,不應該是同普通角色一樣去全選所有的角色裳食,而是默認所有的權限。

二芙沥、功能權限的顆粒度

功能權限的顆粒度需要多細诲祸,根據(jù)實際的場景去考慮浊吏,1)如果是對權限管控要求很嚴格的,需要細化功能權限救氯,例如政府部門系統(tǒng)的設計找田。2)BtoC產品,為了方便使用者理解和使用系統(tǒng)着憨,功能權限的設計就不需要很細墩衙,例如商城系統(tǒng)中商品的搜索功能,搜索商品功能有下拉根據(jù)什么屬性篩選甲抖,根據(jù)時間篩選漆改,查看列表等等,而作為用戶准谚,是可以搜索和查看商品挫剑,在設置搜索商品的權限。也就擁有是搜索功能權限柱衔,可以按時間搜索樊破,也可以按時間搜索。

三唆铐、更多需要注意的坑哲戚,待補充......

什么是數(shù)據(jù)權限

對于數(shù)據(jù)權限,接觸了很多次艾岂,一直不明白顺少,或者處于半明白狀態(tài),這里要感謝程序猿的指導王浴。

百度找了下數(shù)據(jù)權限的定義脆炎,并沒有,我去叼耙。

開發(fā)系統(tǒng)腕窥,各種功能,由功能產生了數(shù)據(jù)筛婉,但是數(shù)據(jù)并不是對所有人開放和顯示簇爆,所以就引入數(shù)據(jù)權限的概念。而數(shù)據(jù)權限在交互上是不會體現(xiàn)出來爽撒,在中小型系統(tǒng)上也不會顯示數(shù)據(jù)權限的設置頁入蛆。

引入一個例子方便理解:電商商城,由于后臺商城可以創(chuàng)建或維護不同的店鋪硕勿,有店鋪列表的概念哨毁,A店鋪產生的數(shù)據(jù),商品源武,訂單等不會在B店鋪中顯示出來扼褪,這就是數(shù)據(jù)權限對之進行了限制想幻。那有人會問,在功能設計過程中话浇,查詢功能不是進行了限制脏毯,這是是個誤導,用戶C可以查看商品幔崖,不沒有說明可以查哪些店鋪的商品:1)如果用戶C是個管理員食店,那他就擁有查看所有店鋪的商品,2)如果用戶C只是一個店鋪的子管理員赏寇,那他的權限只能查看該店鋪的商品吉嫩,3)如果用戶只是一個店鋪中的一個普通員工C,該店鋪有衣服商品嗅定,辦公用品等各種各樣的商品自娩,而該普通員工C只管衣服商品,這時處于衣服這個商品可以查看露戒,其他商品均不能查看椒功。

以上就是數(shù)據(jù)權限的概念捶箱,僅通過功能權限是不夠的智什。

數(shù)據(jù)權限如何設計

我在做后臺系統(tǒng)過程中,遇到過技術要求產品要涉及數(shù)據(jù)權限丁屎,也有技術不要求設計數(shù)據(jù)權限荠锭,那么產品要不要設計數(shù)據(jù)權限,以及如何設計數(shù)據(jù)權限?

根據(jù)四個方面的因數(shù)考慮:

1? 根據(jù)系統(tǒng)的大小晨川,該系統(tǒng)只有一個系統(tǒng)证九,還是該系統(tǒng)下有很多子系統(tǒng),或者系統(tǒng)下各個模塊數(shù)據(jù)的獨立性共虑,不能共享愧怜,例如商品平臺多個店鋪,功能間就不能共用妈拌;

2 系統(tǒng)對權限劃分的顆粒度拥坛,根據(jù)權限細節(jié)角度,權限層級也多尘分,則越需要有數(shù)據(jù)權限猜惋;

3 根據(jù)使用場景,需要后期人為去設置數(shù)據(jù)權限培愁,還是在程序中可以默認設置權限著摔。

4、根據(jù)創(chuàng)建賬號所在的層級定续,例如創(chuàng)建賬號是最上層管理平臺上谍咆,此時需要設置數(shù)據(jù)權限禾锤,如果創(chuàng)建賬號是屬于分支平臺上創(chuàng)建,則不需要數(shù)據(jù)權限

5摹察、....

只要理解了數(shù)據(jù)權限和功能權限區(qū)別时肿,至于要不要設計數(shù)據(jù)權限,在實踐的過程中港粱,就心里有數(shù)了螃成。權限管理其實沒有那么難,只要理解了就好查坪,他是系統(tǒng)不可缺少的部分寸宏。當然也存在系統(tǒng)較小,所有人在同一個平臺的操作權限都一樣偿曙,這種比較少氮凝。

有一本書,《通用權限管理系統(tǒng)》望忆,寫的有點多罩阵,而且會比較過時,不過還是蠻有用的启摄,對權限這塊的了解和熟悉稿壁。

通用權限管理

全文沒設計圖,也沒有流程歉备,懶的畫懶的找了傅是。如果邏輯上有錯,歡迎提出來...

各位看官蕾羊,看完喜歡點個贊唄~


2019年7月27更新

補充菜單管理喧笔,字典管理和系統(tǒng)日志

權限管理一直都是B端產品很重要的部分,小編在工作中龟再,設計過程中需要有菜單管理书闸,字典管理,系統(tǒng)日志利凑,這些其實是架構師給我的指導和梳理浆劲,再次感謝程序員大大

那菜單管理,字典管理截碴,系統(tǒng)日志又是什么梳侨,他和權限又有什么依賴關系?

菜單管理

菜單管理日丹,他是系統(tǒng)最高級管理員需要用到的功能

這里需要做個說明走哺,最高級管理員開發(fā)者管理員的區(qū)別,如果系統(tǒng)是做平臺層哲虾,或者比較大的系統(tǒng)择示,菜單是需要做到動態(tài)的,而我們常見的最高級管理員晒旅,是使用者的最高級管理員栅盲,并不是開發(fā)者的管理員谈秫,開發(fā)者的管理員所具有的功能才是最全的,那么有人問迄本,使用者的最高級管理員和開發(fā)者最高級管理員合并為一個硕淑,不就可以了,其實不然嘉赎,由于使用者他不一定會懂得編程置媳,對于一些開發(fā)的一些概念不懂,也看不懂對應的菜單公条,比如環(huán)境探針拇囊,開發(fā)者監(jiān)控日志等,這些如果給到最高級使用者管理員赃份,他們看不懂寂拆,也會覺得做的系統(tǒng)奇葩奢米。不需要展示的開放出來干什么抓韩。實際上是開發(fā)者用的

回到菜單管理,由于系統(tǒng)龐大鬓长,或者系統(tǒng)是平臺層的谒拴,而當平臺層需要創(chuàng)建一個新的產品,新的產品菜單的創(chuàng)建涉波,這時候就要菜單管理去增刪改查英上。而這個權限一般是不會下設給其他人,不管系統(tǒng)管理上就亂了

字典管理

所謂字典管理啤覆,字段名稱創(chuàng)建的根源苍日,一般來說字典管理中的管理表,包含的屬性有:名稱窗声,名稱編碼相恃。具體的數(shù)據(jù),舉個例子:比如性別:區(qū)分男/女.而男對應的名稱編碼比如是0笨觅,女對應的名稱編碼是1.這就是字典管理中的兩條數(shù)據(jù)拦耐。不外乎關聯(lián)其他功能耕腾,他是有系統(tǒng)層直接管轄,不受其他數(shù)據(jù)的牽連杀糯,而業(yè)務層需要用到扫俺,可以調用字典管理中的數(shù)據(jù),比如個人中心中需要用到性別字段固翰,可以調用字典管理中的數(shù)據(jù)狼纬。

字典管理,頁面上的呈現(xiàn)一般是直接設計一個表骂际,新增的數(shù)據(jù)畸颅,可以是,性別方援,身高没炒,體重,可選項中的選項值犯戏。

這是和架構師學的送火,其實字典管理,和我們日常使用中的字典有著同樣的作用先匪,比如我們去查康熙字典种吸,具體到某個字,這個字可以在不同的地方呀非,不同的語境下產生作用坚俗,但是他字的根源在康熙字典中。(杠精會說 字的根源不在字典中岸裙,這是比喻猖败,比喻我們設計系統(tǒng)字典管理是什么,他產生的作用是什么降允,起到什么作用恩闻。)

系統(tǒng)日志

我們常見的有登錄日志,操作日志剧董,監(jiān)控日志幢尚,等等,他和系統(tǒng)日志又有什么管理翅楼,其實是"父子”關系尉剩,即系統(tǒng)日志包含所有的日志,系統(tǒng)日志底下有登錄日志毅臊,操作日志理茎,監(jiān)控日志,他們各自起到不同的作用,比如我們常見的禪道功蜓,有登錄日志和操作日志园爷,即登錄記錄和操作記錄,作為管理者可以查看式撼,統(tǒng)計童社,跟蹤問題,跟蹤責任著隆,記錄事實等扰楼。而監(jiān)控日志,一般是給開發(fā)人員用的美浦,系統(tǒng)大數(shù)據(jù)的并發(fā)弦赖,產生的卡頓,bug浦辨,系統(tǒng)崩潰等蹬竖,為了方便定位問題,優(yōu)化系統(tǒng)流酬。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末币厕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芽腾,更是在濱河造成了極大的恐慌旦装,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摊滔,死亡現(xiàn)場離奇詭異阴绢,居然都是意外死亡,警方通過查閱死者的電腦和手機艰躺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門呻袭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人描滔,你說我怎么就攤上這事棒妨。” “怎么了含长?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伏穆。 經常有香客問我拘泞,道長,這世上最難降的妖魔是什么枕扫? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任陪腌,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘诗鸭。我一直安慰自己染簇,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布强岸。 她就那樣靜靜地躺著锻弓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝌箍。 梳的紋絲不亂的頭發(fā)上青灼,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音妓盲,去河邊找鬼杂拨。 笑死,一個胖子當著我的面吹牛悯衬,可吹牛的內容都是我干的弹沽。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼筋粗,長吁一口氣:“原來是場噩夢啊……” “哼贷币!你這毒婦竟也來了?” 一聲冷哼從身側響起亏狰,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤役纹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后暇唾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體促脉,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年策州,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘸味。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡够挂,死狀恐怖旁仿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情孽糖,我是刑警寧澤枯冈,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站办悟,受9級特大地震影響尘奏,放射性物質發(fā)生泄漏。R本人自食惡果不足惜病蛉,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一炫加、第九天 我趴在偏房一處隱蔽的房頂上張望瑰煎。 院中可真熱鬧,春花似錦俗孝、人聲如沸酒甸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽插勤。三九已至,卻和暖如春柬甥,著一層夾襖步出監(jiān)牢的瞬間饮六,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工苛蒲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卤橄,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓臂外,卻偏偏與公主長得像窟扑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漏健,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容