入行以來也接觸過一些B端產(chǎn)品,這些產(chǎn)品之中權(quán)限管理是重中之重,權(quán)限管理不僅僅是整個系統(tǒng)的一個小小的模塊,它一直貫穿整個系統(tǒng),從登陸到操作到最后的登出。說它相當?shù)膹碗s真不為過。 對于權(quán)限,如果從控制力來分的話,可以分為功能級權(quán)限和數(shù)據(jù)級權(quán)限。從控制方向來分的話又可以分為從系統(tǒng)獲取數(shù)據(jù)和向系統(tǒng)提交數(shù)據(jù)。一般來說,權(quán)限管理無非是圍繞著用戶,角色和資源三個方面來進行權(quán)限管理操作。 首先,設計的時候要面向開發(fā)人員友好,讓他們能夠很好的理解需求和流程。不至于因為權(quán)限的問題影響開發(fā)。實際上,一般權(quán)限設計都會讓在最后進行實現(xiàn)。因為前期考慮太多的權(quán)限會嚴重影響產(chǎn)品開發(fā)的流暢性。當然最重要的還是面向用戶友好,畢竟產(chǎn)品的使用者是用戶,所以邏輯清晰,結(jié)構(gòu)完整的權(quán)限體系就顯得越發(fā)重要。 舉例: 派單系統(tǒng) 業(yè)務:系統(tǒng)的客戶在前臺提交一個訂單,后臺對應的接收到該訂單并分派給業(yè)務員給客戶完成服務。 角色:
第一種情況,簡單的完成權(quán)限設計整理一下,從業(yè)務流程來看,涉及到的角色其實就是前臺的用戶,業(yè)務經(jīng)理和業(yè)務員。 然后從功能來看: 這樣子系統(tǒng)的架構(gòu)就能夠比較清晰的進行設計了。 菜單的總體結(jié)構(gòu)如下: 1 訂單管理
2 系統(tǒng)設置
3員工管理
4 報表管理
通過登錄的時候對賬號類型進行判斷或者不同角色通過不同的登錄頁面進入相應的系統(tǒng)頁面 老板的菜單顯示為: 2系統(tǒng)設置
3員工管理
4報表管理
業(yè)務經(jīng)理的菜單顯示為: 1訂單管理
2系統(tǒng)設置
3員工管理
業(yè)務員的菜單顯示為: 1訂單管理
2系統(tǒng)設置
這是第一種簡單的權(quán)限設計思路。但是,如果,如果boss對系統(tǒng)的擴展性要求較高,而非一個過渡性的系統(tǒng)。那邊就需要改變思路。重新設計系統(tǒng)了。 第二種情況,完成更加靈活且復雜的權(quán)限設計在這種情況下就要考慮下現(xiàn)有的各種角色以及各種角色對應的操作是否是可修改的。未來是否會變更。 比如查看報表的權(quán)限后期業(yè)務經(jīng)理業(yè)務查看?隨著業(yè)務的擴大,業(yè)務經(jīng)理是否變成多個?boss是否能夠禁止業(yè)務經(jīng)理的派單權(quán)限?在這種情況下,各種權(quán)限其實是變成可配置的了。 這個時候就需要轉(zhuǎn)化思路了。首先將所有的功能全部抽離并羅列出來。如下就是簡略的功能列表 其中,boss角色一開始就具備所有的功能。他可以創(chuàng)建下級角色—業(yè)務經(jīng)理,創(chuàng)建的同時給業(yè)務經(jīng)理這個角色分配權(quán)限(實現(xiàn)方式可以類似技能樹0.0)。也可以創(chuàng)建一個歸屬業(yè)務經(jīng)理的業(yè)務員。這樣,權(quán)限,角色都是可進行靈活配置,擴展性和實用性也更強。 Step1:角色管理-添加角色在這一步中進行角色的添加并分配權(quán)限。 Step2:用戶管理-添加用戶
|
|