B端產(chǎn)品權(quán)限設(shè)計,別踩了坑才想起我
權(quán)限作為一個底層的功能,不僅要考慮用戶的實際應(yīng)用場景,合理劃分以適用于不同的角色,還要將其轉(zhuǎn)變?yōu)橄到y(tǒng)的語言。我們表面上看簡單的勾選就能達(dá)到分權(quán)限的目的,但實際上開發(fā)在實現(xiàn)的時候沒那么簡單。
我們都知道,B端用戶不是一個個體,是由一群個體構(gòu)成的組織,那這個組織里面就有不同的崗位,不同的角色,比如說財務(wù)、運營、倉庫管理員等等。老板作為最高管理者,擁有所有的操作權(quán),但下面的員工,不可能把所有操作權(quán)都開放給他。所以權(quán)限就應(yīng)運而生,這也是B端產(chǎn)品中不得不做的一個功能。
權(quán)限作為一個底層的功能,不僅要考慮用戶的實際應(yīng)用場景,合理劃分以適用于不同的角色,還要將其轉(zhuǎn)變?yōu)橄到y(tǒng)的語言。我們表面上看簡單的勾選就能達(dá)到分權(quán)限的目的,但實際上開發(fā)在實現(xiàn)的時候沒那么簡單。
作為產(chǎn)品經(jīng)理,前期的規(guī)劃很重要。
權(quán)限的應(yīng)用
我們先來看看權(quán)限在哪些地方應(yīng)用到,這幾個大家應(yīng)該都不陌生。
1. 版本拆分
從銷售層面,我們經(jīng)常看到,B端產(chǎn)品會分成基礎(chǔ)版,專業(yè)版等2-3個版本,每個版本包含的功能不同,價格也不同。但我們不可能去開發(fā)3個產(chǎn)品,肯定是開發(fā)一套最全的版本,然后通過權(quán)限去控制功能模塊,拆分出不同的版本來。這樣既節(jié)省了開發(fā)成本,也能實現(xiàn)分級銷售的目的。
2. 子賬號管理
這是針對B端用戶內(nèi)部的賬號管理。B端用戶在購買系統(tǒng)后,會默認(rèn)開通一個超級管理員的賬號,即擁有所有功能的操作權(quán)限,管理員會給下面的員工創(chuàng)建不同的子賬號。
比如這是淘寶賣家子賬號的設(shè)置流程,一些系統(tǒng)可能沒有部門結(jié)構(gòu)和分流設(shè)置,但是添加員工和修改崗位權(quán)限是一定會有的,而且這2個功能是相輔相成的,會同時出現(xiàn)。
為什么不合并成一個功能呢,在創(chuàng)建子賬號的時候就直接勾選操作權(quán)限?試想,如果創(chuàng)建的子賬號數(shù)量很多的時候,是不是選擇角色會更簡單一點?而且從系統(tǒng)上來說,這就是2個獨立的模塊,要解耦合。
3. 角色管理
這里我們可以看到具體詳細(xì)的權(quán)限點,系統(tǒng)一般會把角色分成2部分,內(nèi)置角色和自定義角色。
3.1 內(nèi)置角色
比如上圖淘寶賣家的內(nèi)置角色,系統(tǒng)已經(jīng)根據(jù)商家的特征,分好了客服、運營、美工、財務(wù)等常用角色。這些權(quán)限都是不可以修改的。對于一般的商家來說,直接使用內(nèi)置角色就可以很好地給員工進(jìn)行權(quán)限劃分了。不僅操作方便,也能給那些不會設(shè)置的用戶做了個示例。
3.2 自定義角色
如果內(nèi)置角色不能滿足使用,可以自定義角色,可以導(dǎo)入內(nèi)置角色,在這基礎(chǔ)上進(jìn)行修改,一般都是采用勾選的方式來控制。
權(quán)限的設(shè)計
我們看上面的圖,也能發(fā)現(xiàn)權(quán)限點的控制不是單一的維度,有交易管理、物流管理這種大模塊,也有導(dǎo)出訂單、查看詳情這種小按鈕。
總的來說,權(quán)限點的控制會體現(xiàn)在這些方面:模塊權(quán)限,頁面權(quán)限,操作權(quán)限,字段權(quán)限,賬號權(quán)限。
下面一一來看:
1. 模塊權(quán)限
我們看到的權(quán)限樹中的一級菜單,就是屬于模塊級的,版本拆分就是通過模塊權(quán)限來控制的,不會再往下細(xì)分。
一般來說,模塊權(quán)限和系統(tǒng)里面的一、二級功能菜單會對應(yīng)起來。比如下圖權(quán)限的一級菜單就是導(dǎo)航欄的一級菜單。
我們也可能看到,模塊權(quán)限點并不在菜單里面,而是藏在系統(tǒng)里的一個比較重要的功能點。
為什么會把他拎出來呢?顯得格格不入。
可能是用來拆分版本的重要功能,可能是多個地方共同控制的提煉,也可能是用戶很關(guān)心的點,方便尋找。所以這塊權(quán)限提煉會相對復(fù)雜一點。
2.?頁面權(quán)限
模塊下一級的權(quán)限,就是頁面權(quán)限了,頁面權(quán)限是用的最多的。一般來說,重要頁面都是有一個權(quán)限點的,直接控制這個頁面顯示或者不顯示。
頁面權(quán)限的設(shè)置只需到進(jìn)入功能的首頁即可,通??赡苁橇斜眄?,比如說訂單列表,商品列表。詳情頁不屬于頁面權(quán)限,因為他是在首頁上操作后才進(jìn)入的,屬于按鈕/操作權(quán)限了。
3. 操作權(quán)限
操作權(quán)限最多的體現(xiàn)是按鈕權(quán)限,通過點擊等操作來執(zhí)行業(yè)務(wù),最常見的就是增、刪、改、查、審核。
這也是用的很多的,我們在設(shè)置權(quán)限的時候,會看到他們和頁面權(quán)限放在一起,放在模塊權(quán)限的下面。
4. 字段權(quán)限
字段權(quán)限是更細(xì)的權(quán)限點了,控制這個字段是否可被看到,一般是用來控制頁面上的敏感信息的,比如說成本價、供應(yīng)商信息等。
這個權(quán)限用的相對少一點,有的系統(tǒng)會把這個權(quán)限點直接做到系統(tǒng)的配置項里面。
5. 賬號權(quán)限
這個權(quán)限用戶可能感知不到,他沒有放在權(quán)限列表中可被勾選。是根據(jù)業(yè)務(wù)的屬性做了強行過濾,只能當(dāng)前賬號查看自己的信息。一般來說這種用的不是很多。
比如說醫(yī)生門診系統(tǒng),醫(yī)生登錄系統(tǒng),只能看自己接診的患者,不能看到其他醫(yī)生的,也不能對其他醫(yī)生的病歷、處方等進(jìn)行修改。這也是為了避免責(zé)任糾紛。
還有業(yè)績提成統(tǒng)計報表中也可能會用到,員工可以查看自己的業(yè)績,預(yù)算本月工資,但不能看到別人的。
權(quán)限設(shè)計中的注意事項
雖然權(quán)限主要是上面5個層面的劃分,看似挺簡單的,但實際上在設(shè)計的時候,還會有不少的坑,下面這些注意事項一定要注意了哦!
1. 權(quán)限點不是越多越好
權(quán)限的目的是給不同的人員分工,把這個人用不到的功能模塊隱藏掉,或者根據(jù)職位的高低,分配流程上的權(quán)限等。所以要根據(jù)B端業(yè)務(wù)來定,不要把每個頁面、每個按鈕都設(shè)置上權(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)限之間有哪些關(guān)聯(lián)影響。否則用戶只勾選了操作權(quán)限,但是找不到按鈕在哪,以為出bug了呢。
其實上面說的,開發(fā)把同功能的權(quán)限設(shè)置為一個也是權(quán)限點間相互影響的一個考慮點,是否有關(guān)系,是否需要這種關(guān)系,產(chǎn)品經(jīng)理都要告訴開發(fā)和用戶。
4. 前端權(quán)限展示便于用戶理解
開發(fā)在做的時候更多考慮的是后臺的設(shè)計,所以不能直接把開發(fā)的結(jié)構(gòu)表展示給用戶。我們要按照系統(tǒng)模塊、頁面的順序,來排列好,這樣用戶就能理解,某個權(quán)限點具體控制的是哪一項了。
我們看這個權(quán)限就比較亂,不知道具體控制的是哪一個頁面上的哪一個點。
這個頁面的展示就很直觀,很容易理解。
5. 不要輕易變更權(quán)限
最后再強調(diào)一個很重要很重要的點,不要輕易變更權(quán)限,因為牽一發(fā)而動全身。我們看似只是把一級權(quán)限點挪了個位置,變成了二級,或者把二級提成了一級。但這些改動都會涉及到底層,一不小心就出bug了。
如果給一個新系統(tǒng)從0開始設(shè)計權(quán)限體系,一定要把系統(tǒng)的結(jié)構(gòu)框架定下來,最后再去做權(quán)限。如果想到哪做到哪,最后重做的概率很大。
總結(jié)
權(quán)限不像業(yè)務(wù)功能那么顯眼,就是背后默默支撐的功能,但B端產(chǎn)品卻必不可少。
本文分享了權(quán)限設(shè)計的邏輯和需注意的坑,希望大家在設(shè)計權(quán)限時,多留個心眼,多思考一點,一定成型,不要來回改動。
如果怕以后做這個功能時找不到這文章了,先收藏下哦!
#專欄作家#
司馬特小隊,公眾號:司馬特小分隊,人人都是產(chǎn)品經(jīng)理專欄作家。8年+互聯(lián)網(wǎng)資深產(chǎn)品經(jīng)驗,多年B端產(chǎn)品管理經(jīng)驗。具有多個從0到1的大型B端產(chǎn)品的孵化、重構(gòu)、迭代經(jīng)驗;主要教授產(chǎn)業(yè)互聯(lián)網(wǎng)產(chǎn)品相關(guān)的硬核知識點。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
寫得好!
數(shù)據(jù)安全
挺好的
感覺,看不出有8年產(chǎn)品經(jīng)驗。。。
權(quán)限復(fù)雜的多,一般在做toB類系統(tǒng),要規(guī)劃好權(quán)限模型,摸清系統(tǒng)內(nèi)各個職能角色,還有數(shù)據(jù)權(quán)限是很重要的一環(huán),數(shù)據(jù)域上是否全局還是分區(qū)域、單區(qū)域還是多區(qū)域、域內(nèi)是全數(shù)據(jù)還是部分?jǐn)?shù)據(jù),數(shù)據(jù)是否和固定職能角色掛鉤等,以及不同人看數(shù)據(jù)是否脫敏,數(shù)據(jù)權(quán)限是算作一個權(quán)限維度的,功能權(quán)限反而沒必要那么靈活,有時候可以和職能角色綁定死。
還有有權(quán)限就有角色,有角色那要不要有角色間的工作流、審批流。這些可能不在你這篇文章探討中吧。
想了解一下數(shù)據(jù)權(quán)限的設(shè)計和根據(jù)。
這兩年ToB產(chǎn)品會比ToC前景更好嗎?
功能權(quán)限,數(shù)據(jù)權(quán)限。數(shù)據(jù)權(quán)限呢?
文章中字段權(quán)限,對應(yīng)你說的數(shù)據(jù)權(quán)限。不過有些數(shù)據(jù)權(quán)限是默認(rèn)寫死的,就不需要體現(xiàn)了。
作者好耐心,對我這種剛接觸后臺權(quán)限設(shè)計的人來講,讓我更加清晰的了解了我們這塊業(yè)務(wù)權(quán)限的管理邏輯,你踩的吭倒不是我關(guān)注的點,你對于每類權(quán)限的解釋倒讓我獲益良多~
不是嗎,抄襲各類產(chǎn)品的前臺,權(quán)限前后臺邏輯復(fù)雜遠(yuǎn)超你想想,,年輕人,要聽的別人話,,而不要那么激烈情緒化
1
不清楚你為什么說我情緒化??
發(fā)錯了,不好意思,是發(fā)給作者的,,
權(quán)限功能說明書???浮光掠影,
前臺權(quán)限功能點,后臺表邏輯關(guān)系等等沒有涉及,
我搜索了整篇文章,就你的回復(fù)里有“權(quán)限功能說明書”這幾個字,等你能好好看別人作品了再來評論好嗎?