權(quán)限作為一個底層的功能冒版,不僅要考慮用戶的實際應用場景液茎,合理劃分以適用于不同的角色,還要將其轉(zhuǎn)變?yōu)橄到y(tǒng)的語言辞嗡。我們表面上看簡單的勾選就能達到分權(quán)限的目的捆等,但實際上開發(fā)在實現(xiàn)的時候沒那么簡單。
我們都知道续室,B端用戶不是一個個體栋烤,是由一群個體構(gòu)成的組織,那這個組織里面就有不同的崗位挺狰,不同的角色明郭,比如說財務、運營丰泊、倉庫管理員等等薯定。老板作為最高管理者,擁有所有的操作權(quán)瞳购,但下面的員工话侄,不可能把所有操作權(quán)都開放給他。所以權(quán)限就應運而生学赛,這也是B端產(chǎn)品中不得不做的一個功能满葛。
權(quán)限作為一個底層的功能,不僅要考慮用戶的實際應用場景罢屈,合理劃分以適用于不同的角色嘀韧,還要將其轉(zhuǎn)變?yōu)橄到y(tǒng)的語言。我們表面上看簡單的勾選就能達到分權(quán)限的目的缠捌,但實際上開發(fā)在實現(xiàn)的時候沒那么簡單锄贷。
作為產(chǎn)品經(jīng)理,前期的規(guī)劃很重要曼月。
權(quán)限的應用
我們先來看看權(quán)限在哪些地方應用到谊却,這幾個大家應該都不陌生。
1. 版本拆分
從銷售層面哑芹,我們經(jīng)逞妆妫看到,B端產(chǎn)品會分成基礎版聪姿,專業(yè)版等2-3個版本碴萧,每個版本包含的功能不同乙嘀,價格也不同。但我們不可能去開發(fā)3個產(chǎn)品破喻,肯定是開發(fā)一套最全的版本虎谢,然后通過權(quán)限去控制功能模塊,拆分出不同的版本來曹质。這樣既節(jié)省了開發(fā)成本婴噩,也能實現(xiàn)分級銷售的目的。
2. 子賬號管理
這是針對B端用戶內(nèi)部的賬號管理羽德。B端用戶在購買系統(tǒng)后几莽,會默認開通一個超級管理員的賬號,即擁有所有功能的操作權(quán)限宅静,管理員會給下面的員工創(chuàng)建不同的子賬號章蚣。
比如這是淘寶賣家子賬號的設置流程,一些系統(tǒng)可能沒有部門結(jié)構(gòu)和分流設置坏为,但是添加員工和修改崗位權(quán)限是一定會有的,而且這2個功能是相輔相成的镊绪,會同時出現(xiàn)匀伏。
為什么不合并成一個功能呢,在創(chuàng)建子賬號的時候就直接勾選操作權(quán)限蝴韭?試想够颠,如果創(chuàng)建的子賬號數(shù)量很多的時候,是不是選擇角色會更簡單一點榄鉴?而且從系統(tǒng)上來說履磨,這就是2個獨立的模塊,要解耦合庆尘。
3. 角色管理
這里我們可以看到具體詳細的權(quán)限點剃诅,系統(tǒng)一般會把角色分成2部分,內(nèi)置角色和自定義角色驶忌。
3.1 內(nèi)置角色
比如上圖淘寶賣家的內(nèi)置角色矛辕,系統(tǒng)已經(jīng)根據(jù)商家的特征,分好了客服付魔、運營聊品、美工、財務等常用角色几苍。這些權(quán)限都是不可以修改的翻屈。對于一般的商家來說,直接使用內(nèi)置角色就可以很好地給員工進行權(quán)限劃分了妻坝。不僅操作方便伸眶,也能給那些不會設置的用戶做了個示例惊窖。
3.2 自定義角色
如果內(nèi)置角色不能滿足使用,可以自定義角色赚抡,可以導入內(nèi)置角色爬坑,在這基礎上進行修改,一般都是采用勾選的方式來控制涂臣。
權(quán)限的設計
我們看上面的圖盾计,也能發(fā)現(xiàn)權(quán)限點的控制不是單一的維度,有交易管理赁遗、物流管理這種大模塊署辉,也有導出訂單、查看詳情這種小按鈕岩四。
總的來說哭尝,權(quán)限點的控制會體現(xiàn)在這些方面:模塊權(quán)限,頁面權(quán)限剖煌,操作權(quán)限材鹦,字段權(quán)限,賬號權(quán)限耕姊。
下面一一來看:
1. 模塊權(quán)限
我們看到的權(quán)限樹中的一級菜單桶唐,就是屬于模塊級的,版本拆分就是通過模塊權(quán)限來控制的茉兰,不會再往下細分尤泽。
一般來說,模塊權(quán)限和系統(tǒng)里面的一规脸、二級功能菜單會對應起來坯约。比如下圖權(quán)限的一級菜單就是導航欄的一級菜單。
我們也可能看到莫鸭,模塊權(quán)限點并不在菜單里面闹丐,而是藏在系統(tǒng)里的一個比較重要的功能點。
為什么會把他拎出來呢被因?顯得格格不入妇智。
可能是用來拆分版本的重要功能,可能是多個地方共同控制的提煉氏身,也可能是用戶很關心的點巍棱,方便尋找。所以這塊權(quán)限提煉會相對復雜一點蛋欣。
2.?頁面權(quán)限
模塊下一級的權(quán)限航徙,就是頁面權(quán)限了,頁面權(quán)限是用的最多的陷虎。一般來說到踏,重要頁面都是有一個權(quán)限點的杠袱,直接控制這個頁面顯示或者不顯示。
頁面權(quán)限的設置只需到進入功能的首頁即可窝稿,通抽垢唬可能是列表頁,比如說訂單列表伴榔,商品列表纹蝴。詳情頁不屬于頁面權(quán)限,因為他是在首頁上操作后才進入的踪少,屬于按鈕/操作權(quán)限了塘安。
3. 操作權(quán)限
操作權(quán)限最多的體現(xiàn)是按鈕權(quán)限,通過點擊等操作來執(zhí)行業(yè)務援奢,最常見的就是增兼犯、刪、改集漾、查切黔、審核。
這也是用的很多的具篇,我們在設置權(quán)限的時候纬霞,會看到他們和頁面權(quán)限放在一起,放在模塊權(quán)限的下面栽连。
4. 字段權(quán)限
字段權(quán)限是更細的權(quán)限點了险领,控制這個字段是否可被看到侨舆,一般是用來控制頁面上的敏感信息的秒紧,比如說成本價、供應商信息等挨下。
這個權(quán)限用的相對少一點熔恢,有的系統(tǒng)會把這個權(quán)限點直接做到系統(tǒng)的配置項里面。
5. 賬號權(quán)限
這個權(quán)限用戶可能感知不到臭笆,他沒有放在權(quán)限列表中可被勾選叙淌。是根據(jù)業(yè)務的屬性做了強行過濾,只能當前賬號查看自己的信息愁铺。一般來說這種用的不是很多鹰霍。
比如說醫(yī)生門診系統(tǒng),醫(yī)生登錄系統(tǒng)茵乱,只能看自己接診的患者茂洒,不能看到其他醫(yī)生的,也不能對其他醫(yī)生的病歷瓶竭、處方等進行修改督勺。這也是為了避免責任糾紛渠羞。
還有業(yè)績提成統(tǒng)計報表中也可能會用到,員工可以查看自己的業(yè)績智哀,預算本月工資次询,但不能看到別人的。
權(quán)限設計中的注意事項
雖然權(quán)限主要是上面5個層面的劃分瓷叫,看似挺簡單的屯吊,但實際上在設計的時候,還會有不少的坑赞辩,下面這些注意事項一定要注意了哦雌芽!
1. 權(quán)限點不是越多越好
權(quán)限的目的是給不同的人員分工,把這個人用不到的功能模塊隱藏掉,或者根據(jù)職位的高低拥刻,分配流程上的權(quán)限等勉吻。所以要根據(jù)B端業(yè)務來定,不要把每個頁面屉佳、每個按鈕都設置上權(quán)限。既增加了工作量洲押,也不利于用戶選擇武花。
2. 提煉同權(quán)限點
有時候一個功能會在系統(tǒng)的好幾個功能模塊和頁面中被用到。如果需要統(tǒng)一控制的話杈帐,就把這個功能點提煉出來体箕,作為一個一級權(quán)限點。這樣用戶在選擇的時候就能知道挑童,這是一個全局的控制累铅。如果放在某個模塊下面,他們可以會誤以為只控制這個模塊下的內(nèi)容站叼。
比如說診療系統(tǒng)中娃兽,快速接診和轉(zhuǎn)診的功能,在醫(yī)生門診尽楔、病人庫中都會用到投储,我們就把他們提煉了出來。
這里面還需注意一個點阔馋,開發(fā)在做權(quán)限控制的時候玛荞,往往會把相同的功能點一起做控制。但有時候我們不需要做全局控制呕寝,就一定要在文檔上注明勋眯,這個頁面上所有功能都可被使用,不受其他權(quán)限點影響。
3. 注意權(quán)限點間的相互影響
我們看到一般情況下凡恍,有操作權(quán)限志秃、字段權(quán)限和賬號權(quán)限的前提是要有頁面權(quán)限,而有頁面權(quán)限的前提是要有模塊權(quán)限嚼酝。我們必須要告訴用戶浮还,權(quán)限之間有哪些關聯(lián)影響。否則用戶只勾選了操作權(quán)限闽巩,但是找不到按鈕在哪钧舌,以為出bug了呢。
其實上面說的涎跨,開發(fā)把同功能的權(quán)限設置為一個也是權(quán)限點間相互影響的一個考慮點洼冻,是否有關系,是否需要這種關系隅很,產(chǎn)品經(jīng)理都要告訴開發(fā)和用戶撞牢。
4. 前端權(quán)限展示便于用戶理解
開發(fā)在做的時候更多考慮的是后臺的設計,所以不能直接把開發(fā)的結(jié)構(gòu)表展示給用戶叔营。我們要按照系統(tǒng)模塊屋彪、頁面的順序,來排列好绒尊,這樣用戶就能理解畜挥,某個權(quán)限點具體控制的是哪一項了。
我們看這個權(quán)限就比較亂婴谱,不知道具體控制的是哪一個頁面上的哪一個點蟹但。
這個頁面的展示就很直觀,很容易理解谭羔。
5. 不要輕易變更權(quán)限
最后再強調(diào)一個很重要很重要的點华糖,不要輕易變更權(quán)限,因為牽一發(fā)而動全身口糕。我們看似只是把一級權(quán)限點挪了個位置缅阳,變成了二級磕蛇,或者把二級提成了一級景描。但這些改動都會涉及到底層,一不小心就出bug了秀撇。
如果給一個新系統(tǒng)從0開始設計權(quán)限體系超棺,一定要把系統(tǒng)的結(jié)構(gòu)框架定下來,最后再去做權(quán)限呵燕。如果想到哪做到哪棠绘,最后重做的概率很大。
總結(jié)
權(quán)限不像業(yè)務功能那么顯眼,就是背后默默支撐的功能氧苍,但B端產(chǎn)品卻必不可少夜矗。
本文分享了權(quán)限設計的邏輯和需注意的坑,希望大家在設計權(quán)限時让虐,多留個心眼紊撕,多思考一點,一定成型赡突,不要來回改動对扶。
如果怕以后做這個功能時找不到這文章了,先收藏下哦惭缰!