對2b、2c賬號體系的思考

  • 2b:to business,對商業(機構);2c:to consumer,對消費者(個人)
  • 2b的產品:主要針對機構、企業的產品;2c的產品:主要針對消費者、個人的產品

假設你想推出一款針對記者,提高他們工作效率的產品,那麼在設計賬號體系時需要好好思考這個問題:這款產品它是2b還是2c的

不要小看這個問題,這個問題的答案會決定這個產品的賬號體系的結構,以及賬號體系後續的可擴展性。有這麼嚴重麼?是的。

那好,那就先回答這個問題:國內的記者大部分都是屬於機構的,比如新華社、人民日報等。這些報社都是機構,假設這款產品就面對2b的產品。要想把產品推廣到這些機構,暫且先按照面向2b的模式去設計賬號體系。考慮下面的問題:


面向2b的模式

  1. 一個機構往往很多人,第一個問題就是能夠把一個機構下的用戶都歸屬到這個這個機構;
  2. 第二個問題:誰來創建機構中的用戶?
  3. 第三個問題:機構中的用戶如何登陸,通過手機?郵箱?用戶名?

把這三個看似簡單的問題考慮清楚,基本上就能設計出正確2b賬號體系。那一一來回答這三個問題:

  1. 這個問題好解決,我在用戶表中增加一個字段orgId用來標識這個用戶是屬於哪個機構;必須先有機構實體纔有機構用戶,機構用戶不能脫離機構
  2. 第二個問題映射到機構中來:肯定是主管人事的領導把你拉到這個企業中來的,那麼在產品中也應該由這個角色幫你創建賬號。我們暫且將這個角色叫做管理員,這裏需要注意的是一個機構中的管理員往往有多個,設計的表結構的時候需要考慮到這一點。同理,機構中還有其他的角色;避免用顯示字段來表示用戶角色,應該用權限去劃分用戶角色
  3. 第三個問題其實是在問:到底什麼纔是用戶在這個機構中的標識,手機號?不,不能是手機號。因爲手機號是屬於個人的,不隨着機構的產生而產生、機構的消亡而消亡。郵箱同理,也不合適(這裏指的是個人郵箱,機構專屬郵箱除外)。所以最好使用使用機構專屬用戶名(以及任意只要在你這個產品上不會重複的標識,如企業專屬個人郵箱)。不能用個人信息作爲機構用戶標識,因爲個人信息屬於個人,用戶標識需要做到機構級別的隔離

回答完這三個問題,可以看到該賬號體系本質上是面向機構實體的。

在這種模式下,假設有一個記者叫小明,小明既屬於新華社北京分部有屬於新華社浙江分部。那麼小明應該在這兩個機構中都有一個賬號,幾個例子:

  • 新華社北京分部的賬號爲:小明@新華社北京分部
  • 新華社浙江分部的賬號爲:小明@新華社浙江分部

這兩個賬號互不相干,賬號數據也沒有打通。這種模式的典型代表就是阿里雲企業賬號體系,阿里雲企業賬號登錄名一般爲:姓名@公司簡稱。不同公司的賬號後綴是不一樣的,數據也是沒有打通的。

當然阿里雲也支持個人賬號,個人賬號登錄時可以使用個人郵箱和個人手機號。上面提到:純2b的賬號體系是不能用個人信息作爲登錄方式,否則阿里雲不知道你到底登錄的是哪個賬號。
難道阿里雲用了兩套數據庫表:一套用於企業賬號,一套用於個人賬號?
我不知道阿里雲底層是怎樣設計的,但我可以提出我的猜想:數據庫肯定只有一套表,個人賬號只是企業賬號的一種特例:這個企業中只有一個人。企業信息表中有一個字段用來標識這家企業是正常的企業(多個人)還是特例的企業(一個人)。

那爲什麼特例企業中可以使用個人郵箱和手機號進行登錄?
因爲你在阿里雲的個人賬號只有一個,也就是說這樣的特例企業只有一個,阿里雲可以通過你的個人郵箱和手機號唯一查詢到這家企業。

結論
面向2b的賬號體現的本質是面向機構實體。先有機構再有機構用戶,機構用戶不能脫離於機構而存在。機構管理員擁有對機構管理員的生殺大權

上面聊了面向2b的賬號模式,下面聊一下面向2c的賬號模式。


面向2c的賬號模式

面向2b的賬號體系有一個痛點:同一個人(注意不是賬號)不能在登錄態中不能進切換企業。如小明登錄新華社北京分社的賬號後,不能直接切換登錄到新華社浙江分社,必須先退出北京分社的賬號後再登錄浙江分社的賬號。這時候小明可能會有疑問:都是我的賬號,爲什麼不允許讓我直接切換機構,還要重新登錄一次,這不是純屬增添障礙嗎
有這樣的想法很正常,因爲在現實社會中我們習慣從自身出發去思考問題。比如我在很多銀行都有銀行卡:建設銀行、工商銀行、招商銀行等,雖然分佈在不同的銀行,但是這些銀行卡都是屬於我個人的。需要注意的是,在面向2b的賬號體系中,你的賬號並不屬於你而是屬於機構。你的賬號是根據機構進行隔離的,所以在登錄態不能切換機構。

如何你用過釘釘,你可能會問了:爲什麼釘釘可以在登錄態中進行企業切換?難道釘釘的賬號體系不是面向2b的嗎?
當然我也不是釘釘員工,我也不清楚釘釘的賬號體系是怎樣的,但我提出我的猜想:釘釘的賬號體系本質上是面向2c的賬號體系。這時候你肯定想反駁:釘釘是面向企業的,它的賬號體系怎麼可能是面向2c的?好的,我們來回想一下,釘釘賬號是誰創建的?是企業管理員嗎?不,是你。是你通過個人郵箱&手機號創建的。當你創建好釘釘賬號時,並沒有加入任何企業,是企業管理員把你拉到企業中去的。你的釘釘賬號是屬於你個人的,你的賬號獨立於企業:既可以可以被拉到多個企業中,也可以不加入任何企業,有沒有企業對你來說沒有任何影響。面向2c的賬號不依賴於企業,可以獨立存在
現在來解釋:爲什麼釘釘可以在登錄態切換企業?因爲你登錄的賬號是屬於你的,就算你切換企業我也知道這個賬號是屬於你,只不過是切換了一個企業標識而已。放在QQ的場景下,你還是你,只不過是切換了一個羣,繼續聊天而已。

結論
面向2c的賬號體現的本質是面向個人實體。個人賬號可以獨立存在。個人擁有對賬號的修改權限。


兩種模式的比較

  1. 2b賬號:面向機構實體;2c賬號:面向個人實體;
  2. 2b賬號:賬號屬於企業。對企業管理員友好,可以新開、停用企業賬號;2c賬號:賬號屬於個人。對個人友好,企業管理員不能修改個人核心信息(如登錄方式),只有個人才能修改;
  3. 2b賬號:企業可以方便批量新建賬號。這一點在對接外部企業賬號時感受非常明顯;2c賬號:企業只能一個一個的別人進來,不能新建;
  4. 2b賬號:登錄態無法在企業間進行切換;2c賬號:登錄態可以隨意在企業間進行切換;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章