色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談權限系統在多利熊業務應用

OSC開源社區 ? 來源:OSC開源社區 ? 2023-01-06 15:23 ? 次閱讀

本文首先引入多利熊業務介紹,引出多利熊業務建設權限系統的痛點,接著分別從權限系統模型、權限系統設計以及多利熊業務業務應用方面詳細探討了具體的方案和設計,最后對權限系統設計思考,對數據維度建設拋磚引玉,讓大家一起思考解決方案。

GEEK TALK

01

業務介紹

多利熊,是百度旗下的本地生活服務平臺。多利熊旨在為用戶提供特低價優惠的品質服務,基于百度的AI和雙引擎能力,以改變市場格局之勢迅速推進,為本地商家提供豐富的營銷渠道,決心成為本地生活市場的重塑性力量。

多利熊覆蓋餐飲、酒店、景區、休閑娛樂、麗人等眾多品類。用戶可以花更少的錢享受多利熊甄選的本地生活品質服務。成為多利熊分銷達人,自購更省錢,分享直賣可賺取傭金,鎖粉政策可讓達人長期賺取用戶自行下單傭金,發展下游達人組建團隊更可賺取團隊傭金。

多利熊架構是如何支撐起整個業務生態運轉,如下圖所示:

b18ae83e-8d89-11ed-bfe3-dac502259ad0.png

如圖所示,多利熊整個業務架構分位三層。包括:生態場景層、平臺支撐層、基礎建設層。

  • 多利熊生態場景:多利熊除了在百度的雙引擎、百家號、私域中進行分發外,還擴展到了微信生態圈,建設了多利熊微信小程序,用于在微信生態的分發,通過微信群、微信分享、微信達人引流。除了自建外,也通過合作方式引入第三方服務商、自研商家、本地生活服務平臺,從而打造多元化、多類型的本地生活服務生態圈。

  • 多利熊平臺支撐:多利熊建設了大量平臺,包括:商戶平臺、運營平臺、審核平臺、小編平臺、分發平臺、干預平臺、質量平臺等等。通過豐富的平臺,降低運營成本、提升商家接入效率,從而更好的支撐業務的高速發展,快速迭代。

  • 多利熊基礎建設:多利熊的基礎建設層,通過集成小程序及百度中臺的眾多沉淀系統,迅速支撐業務快速迭代。包括:小程序自研的服務化治理方案:天路、天眼、BRCC;小程序沉淀的數據多維度分析報表和穩定性建設監控和治理手段;以及百度豐富的中臺系統:交易中臺、營銷中臺、互動中臺、審核中臺等等。

從圖中可以看到,整個多利熊業務架構中,平臺角色眾多,權限系統面臨非常多的挑戰。

  • 平臺眾多,各個平臺的賬號系統也會存在差異性。權限系統如何支持各平臺的隔離設置,保證平臺數據的合規性和安全性?

  • 多個平臺中存在眾多業務角色、角色存在上下級關系,大家需要協同工作。權限系統如何支持高效的配置,保障多角色協同、高效、便利操作?

  • 多個平臺基于不同語言開發。權限系統如何保證接入的便捷性?

具體我們是如何建設,解決這些問題的呢?下面將詳細介紹下。

GEEK TALK

02

權限系統介紹

2.1權限系統模型

RBAC(role-based access control):基于角色的權限訪問控制。

RBAC是一種圍繞角色和權限定義的訪問控制機制,在RBAC中,權限與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的權限。這就極大地簡化了權限的管理。在一個組織中,角色是為了完成各種工作而創造,用戶則依據它的責任和資格來被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色。角色可依新的需求和系統的合并而賦予新的權限,而權限也可根據需要而從某角色中回收。角色與角色的關系可以建立起來以囊括更廣泛的客觀情況。

RBAC四個核心組成部分

  1. S(Subject):主體,一名使用者或自動代理人

  2. R(Role):角色信息,被定義為一個授權等級的工作職位或職稱

  3. SE(Session):會話級別的身份權限表達,S,R或P之間的映射關系

  4. P(Permissions):權限,一種存取資源的方式

RBAC 定義了三個主要規則:

  1. 角色分配:只有當主體選擇或分配了角色時,主體才能行使權限

  2. 角色授權:主體的活動角色必須為主體授權。使用上面的規則 1,此規則確保用戶只能承擔他們被授權的角色

  3. 權限授權:只有為主體的活動角色授權了權限,主體才能行使權限。對于規則 1 和 2,此規則確保用戶只能行使他們被授權的權限

RBAC的四個模型:

  1. Flat RBAC:基本的 RBAC 模型,基本的概念是 用戶被分配給角色,權限也被分配給角色,用戶通過角色獲取對應的權限

  2. Hierarchical RBAC:角色被組織成分層結構,其中“較高”層級的角色從的“較低”層級的角色繼承所有權限

  3. Constrained RBAC:向角色添加職責分離 (SOD) 的實施

  4. Symmetric RBAC:添加了權限角色審查的要求,類似于 Flat RBAC 中描述的用戶角色審查

四種模型的等級和功能描述:

b1a7dd0e-8d89-11ed-bfe3-dac502259ad0.png

Flat RBAC模型結構

b1bc51bc-8d89-11ed-bfe3-dac502259ad0.png

Hierarchical RBAC模型結構:

b1cc4a2c-8d89-11ed-bfe3-dac502259ad0.png

Constrained RBAC模型結構:

靜態職責分離:

  1. 互斥角色:同一個用戶在兩個互斥角色中只能選擇一個

  2. 基數約束:一個用戶擁有的角色是有限的,一個角色擁有的許可也是有限的

  3. 先決條件約束:用戶想要獲得高級角色,首先必須擁有低級角色

b1e38cd2-8d89-11ed-bfe3-dac502259ad0.png

動態職責分離:

  1. 會話和角色之間的約束,可以動態的約束用戶擁有的角色,如一個用戶可以擁有兩個角色,但是運行時只能激活一個角色。

b213a7d2-8d89-11ed-bfe3-dac502259ad0.png

Symmetric RBAC模型結構:

b222cb7c-8d89-11ed-bfe3-dac502259ad0.png

2.2權限系統設計

RBAC模型如何在我們的實際場景中選型和改造是一件深入思考的事情。首先我們要基于我們的業務場景圈定權限系統核心功能。

我們做的是本地服務tob業務,所以對于商家我們會有商家平臺,除了商家的管理平臺之外,我們還需要對于o端建設平臺進行管理,以及我們開發同學的干預平臺等,這些平臺都需要權限管控。每個系統都有各自的頁面,每個頁面都有自己的功能實現,大到頁面權限的管控,小到按鈕的管控,在未來的業務發展中都是我們權限系統所需要考慮的。所以我們的權限管理相對來說任務也是比較繁重的。

針對我們以上的業務場景和需求形態,我們首先敲定了權限系統的核心職責:

  1. 頁面菜單權限的管控

  2. 功能組權限管控

  3. 按鈕功能權限管控

  4. 支持多業務線

我們基于Flat RBAC設計了如下的RBAC模型:

b237a77c-8d89-11ed-bfe3-dac502259ad0.png

基于我們設計的RBAC模型,繼續細節的考量

  1. 支持多業務線接入和業務線業務隔離

  2. 需要支持菜單權限、功能組權限、按鈕權限的管控

首先考量業務線支持問題,對于這個事情我們使用了單獨的表來表達產品線信息,在設計user,role 和 func 表,都需要與業務線信息表關聯。

于是我們思考如何支持頁面菜單權限、功能組權限和按鈕權限的問題。

菜單權限、功能組權限和按鈕權限都隸屬于功能權限,于是我們使用一張表進行功能權限的表達,和前端頁面的樹形結構表達相映射,構造一個功能權限樹,于是我們最終落地的ER圖如下:

b24e1908-8d89-11ed-bfe3-dac502259ad0.png

業務線

對于不同的系統,各自的用戶體系、角色管理、權限管理都是有差異的,需要滿足不同的系統的訴求,首先要做的是對各個系統的隔離。

我們設計了業務線信息的表,核心字段如下:

b287fbc8-8d89-11ed-bfe3-dac502259ad0.png

該表主要描述業務線的基礎信息內容,用于更好的管理和配置。

業務線隔離的實質是用戶表、角色表和權限表都需要指定業務線的prod_id,這樣在BRAC模型的三個核心角色里都做到了業務線隔離,每個系統在使用自己的數據的時候都需要指定自己的prod_id。

用戶

從業務角度分析來看,商家平臺是對外面向商家登錄的用戶賬號體系,對于o端來說,是面向我們運營同學,bd同學使用的場景,使用的內部賬號體系,所以,我們這里就有這不同的用戶登錄體系。

我們面臨著多種用戶體系形態,所以,我們就兼容不同的用戶體系設計,由此我們設計的用戶表核心字段如下:

b2aa1d2a-8d89-11ed-bfe3-dac502259ad0.png

prod_id、user_type 和 login_id 組成聯合唯一建。

角色

FLAT BRAC模型的角色并沒有涉及角色的繼承關系,我們現在的業務沒有涉及到這么復雜的角色關系,所以我們用最簡單的方式來表達角色信息,從而減少對于角色身份的管理和維護。

角色的核心字段如下:

b2b9db02-8d89-11ed-bfe3-dac502259ad0.png

prod_id 和 en_name組成聯合唯一建。

權限

權限這塊是我們思考最多的地方,我們希望可以通過統一的標準將前端頁面的功能權限進行約定。

我們去了解前端使用的設計,無論是b端還是o端前端,都是我們自己的前端團隊,他們講使用統一的前端框架和風格進行設計,這樣對于我們得權限系統來說就是最好的情況,我們首先需要面對的就是這樣風格的權限管控。

首先看下我們b端的前端頁面樣式如下:

b2d70880-8d89-11ed-bfe3-dac502259ad0.png

這里左側為頁面菜單欄,右側為菜單欄對應的頁面,里面就是涉及到的各個功能模塊。

我們這里要處理的就是:

  1. 菜單欄的權限管控:菜單是否展示,菜單層級結構以及菜單設計的頁面權限內容

  2. 頁面權限:頁面里涉及到的功能權限

  3. 功能組:頁面中某些功能模塊的功能權限

  4. 按鈕:按鈕的權限

于是我們準備改造權限表為樹狀結構如圖所示:

b2e771b6-8d89-11ed-bfe3-dac502259ad0.png

基于這樣的樹狀結構,我們就可以描述出前端的整個權限管控內容,權限的核心字段如下:

b30393b4-8d89-11ed-bfe3-dac502259ad0.png

整體的核心設計就是這樣,結合我們的微服務框架理念,我們整體的業務交互圖如下:

b3197882-8d89-11ed-bfe3-dac502259ad0.png

現在我們權限系統已經在支持著多利熊B端平臺和O端平臺的權限管控,并正在支持小編平臺,后續我們將繼續服務更多平臺的權限管控。

2.3多利熊業務應用

基于上述權限系統的設計,使得多利熊業務在面對龐大的人員組織架構、復雜的業務系統時,也能夠高效、靈活地實現權限的管理。

如下圖的商務運營系統應用場景所示,該系統是面向內部多個團隊開放的,每個團隊都具有不同的職能,甚至團隊內部也劃分了不同的崗位。

b3437e84-8d89-11ed-bfe3-dac502259ad0.jpg

針對該應用場景,系統權限的分配與管理主要包括以下的步驟:

1. 明確系統角色:如上圖3.1所示,商務運營系統包括商家、商鋪、訂單等在內的多個平臺。針對每個平臺,需要確定好平臺內需要哪些角色,不同角色在平臺內承擔著不同的任務。例如商戶入駐系統包括了幫助商戶入駐的角色、幫助商戶管理成員的角色等。

2. 明確角色權限:針對角色承擔的具體任務,其對應的系統可操作權限也是不同的,這就需要每一個角色分配具體的操作權限。例如幫助商戶入駐的角色,可以有錄入、查詢、修改商家信息等接口與按鈕的權限。

3. 明確團隊架構:如上圖3.2所示,審核管理項目需要有商務、運營、客服等多個團隊,不同團隊下還有相應的崗位來承擔不同的任務。例如商務團隊包括商務小編、商務管理員、商務負責人等崗位。

4. 為團隊成員分配系統角色:為了將系統內的角色權限與團隊內的組織架構進行結合,如上圖3.3所示,管理人員可以通過角色配置的方式,來為崗位的人員賦予對應平臺的權限。例如商務小編只有商品管理的角色,而商務可以同時有商品管理角色、商家入駐角色等,這樣就實現了基于角色進行權限管理的實際應用。

GEEK TALK

03

權限系統思考

有了功能權限,我們進而應該思考另外一塊領域,就是數據權限。

數據權限,就是有或者沒有對某些數據的訪問權限,具體表現形式就是當某用戶有操作權限的時候,但不代表其對所有的數據都有查看或者管理權限。數據權限有兩種表現形式:一種是行權限,另外一種是列權限。

所謂行權限,就是限制用戶對某些行的訪問權限,比如:只能對本人、本部門、本組織的數據進行訪問;也可以是根據數據的范圍進行限制,比如:合同額大小來限制用戶對數據的訪問。所謂列權限,就是限制用戶對某些列的訪問權限,比如:某些內容的摘要可以被查閱,但是詳細內容就只有VIP用戶才能查看。

通過數據權限,可以從物理層級限制用戶對數據的行或列進行獲取,這種方式比把所有數據拿到之后再根據用戶權限來限制某些行或列有諸多好處。以列表數據權限為例,主要通過數據權限控制行數據,讓不同的人有不同的查看數據規則;要實現數據權限,最重要的是需要抽象出數據規則。

但是光有數據規則是不夠的,我們還需要把數據規則跟資源和用戶進行綁定。這樣資源就可以關聯上了數據規則。

在設計上我們需要一個單獨的數據規則管理功能,方便我們錄入數據規則,然后在資源管理頁面上就可以選擇內置的數據規則進行資源與規則的綁定。

那么如何讓不同的用戶擁有不同的數據規則呢?

在RBAC模型中,用戶是通過授予不同的角色來進行資源的管理,同理我們可以讓角色在授予權限的時候關聯上數據規則,這樣最終在系統上就體現為不同的用戶擁有不同的數據規則。

基于此,我們可以基本實現RBAC與數據規則的綁定;同時數據權限是一個實現相對比較復雜的功能,除了在RBAC模型基礎上進行擴展,是否還有其他更合理的思路,留給大家進行思考。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 架構
    +關注

    關注

    1

    文章

    513

    瀏覽量

    25468
  • 權限系統
    +關注

    關注

    0

    文章

    6

    瀏覽量

    5954

原文標題:淺談權限系統在多利熊業務應用

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    搞懂Linux權限管理,提升系統安全性與穩定性

    linux安全上下文與特殊權限 5. 文件系統訪問控制列表facl 6. sudo 7. 管理命令 1.權限簡介 文件的權限主要針對三類對象進行定義: ? owner 屬主 u gr
    的頭像 發表于 11-22 10:31 ?140次閱讀
    搞懂Linux<b class='flag-5'>權限</b>管理,提升<b class='flag-5'>系統</b>安全性與穩定性

    Linux用戶身份與進程權限詳解

    在學習 Linux 系統權限相關的主題時,我們首先關注的基本都是文件的 ugo 權限。ugo 權限信息是文件的屬性,它指明了用戶與文件之間的關系。但是真正操作文件的卻是進程,也就是說用
    的頭像 發表于 10-23 11:41 ?338次閱讀
    Linux用戶身份與進程<b class='flag-5'>權限</b>詳解

    使用mybatis切片實現數據權限控制

    一、使用方式 數據權限控制需要對查詢出的數據進行篩選,對業務入侵最少的方式就是利用mybatis或者數據庫連接池的切片對已有業務的sql進行修改。切片邏輯完成后,僅需要在業務中加入少量
    的頭像 發表于 07-09 17:26 ?362次閱讀
    使用mybatis切片實現數據<b class='flag-5'>權限</b>控制

    淺談煤礦企業能耗在線監測系統的設計與應用

    淺談煤礦企業能耗在線監測系統的設計與應用
    的頭像 發表于 05-15 16:07 ?529次閱讀
    <b class='flag-5'>淺談</b>煤礦企業能耗在線監測<b class='flag-5'>系統</b>的設計與應用

    鴻蒙原生應用元服務-訪問控制(權限)開發應用權限列表一

    ohos.permission.ACCESS_NOTIFICATION_POLICY 本設備上允許應用訪問通知策略。 權限級別 :normal 授權方式 :system_grant ACL使能 :FALSE
    發表于 04-23 14:33

    鴻蒙原生應用元服務-訪問控制(權限)開發概念和使用基本原則

    打電話、發短信、聯網等)、應用功能(如彈出懸浮框、創建快捷方式等)等。 應用權限是程序訪問操作某種對象的通行證。權限應用層面要求有明確定義,應用權限使得
    發表于 04-18 15:39

    鴻蒙原生應用元服務-訪問控制(權限)開發等級和類型

    system_grant指的是系統授權類型,該類型的權限許可下,應用被允許訪問的數據不會涉及到用戶或設備的敏感信息,應用被允許執行的操作不會對系統或者其他應用產生大的不利影響。 如
    發表于 04-17 15:29

    淺談能耗監測管理系統產業園區中的應用與分析

    淺談能耗監測管理系統產業園區中的應用分析 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:隨著電信公司企業級智能化辦公系統的不斷迭代優化及財務輔助
    的頭像 發表于 04-09 15:46 ?275次閱讀
    <b class='flag-5'>淺談</b>能耗監測管理<b class='flag-5'>系統</b><b class='flag-5'>在</b>產業園區中的應用與分析

    淺談醫用IT隔離電源系統醫療場所的應用

    淺談醫用IT隔離電源系統醫療場所的應用 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 【摘要】本文從IT接地系統的原理出發,通過對IT
    的頭像 發表于 03-14 11:10 ?509次閱讀
    <b class='flag-5'>淺談</b>醫用IT隔離電源<b class='flag-5'>系統</b><b class='flag-5'>在</b>醫療場所的應用

    淺談IT隔離電源系統醫院電氣設計中的應用

    淺談IT隔離電源系統醫院電氣設計中的應用 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 【摘要】許多國際標準都對醫療領域,尤其是那些生命攸關的場所,如手術室、重癥監護室、心臟監護室等
    的頭像 發表于 03-14 10:38 ?368次閱讀
    <b class='flag-5'>淺談</b>IT隔離電源<b class='flag-5'>系統</b><b class='flag-5'>在</b>醫院電氣設計中的應用

    淺談電氣火災監控系統民用建筑的應用

    淺談電氣火災監控系統民用建筑的應用 張穎姣 安科瑞電氣股份有限公司?上海嘉定201801 摘要:對電氣火災監控系統的概念和原理進行了簡介,闡述了電氣火災監控
    的頭像 發表于 03-12 10:52 ?358次閱讀
    <b class='flag-5'>淺談</b>電氣火災監控<b class='flag-5'>系統</b><b class='flag-5'>在</b>民用建筑的應用

    淺談能耗監測管理系統產業園區中的應用分析

    淺談能耗監測管理系統產業園區中的應用分析 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要:隨著電信公司企業級智能化辦公系統的不斷迭代優化及財務輔助
    的頭像 發表于 03-11 15:45 ?226次閱讀
    <b class='flag-5'>淺談</b>能耗監測管理<b class='flag-5'>系統</b><b class='flag-5'>在</b>產業園區中的應用分析

    淺談無線測溫系統電廠的研究和應用

    淺談無線測溫系統電廠的研究和應用 摘要: 采集關鍵電力設備接電的實時溫度,克服有線溫度監測系統存在的諸如線路多,布線復雜,維護困難等不足,將無線無源傳感器與Zigbee無線通信技術相
    的頭像 發表于 02-04 16:45 ?498次閱讀
    <b class='flag-5'>淺談</b>無線測溫<b class='flag-5'>系統</b><b class='flag-5'>在</b>電廠的研究和應用

    一分鐘了解鴻蒙OS 應用權限管理

    HarmonyOS 中所有的應用均在應用沙盒內運行。默認情況下,應用只能訪問有限的系統資源,系統負責管理應用對資源的訪問權限。 應用權限管理是由接口提供方(Ability)、接口使用方
    的頭像 發表于 01-26 15:23 ?808次閱讀

    前端大倉monorepo權限設計思路和實現方案

    GitLab 未支持文件目錄權限設置之前,對于文件目錄權限的控制主要依賴 Git 的鉤子函數,代碼提交的時候,對暫存區的變更文件進行識別并做文件
    的頭像 發表于 01-12 09:52 ?714次閱讀
    前端大倉monorepo<b class='flag-5'>權限</b>設計思路和實現方案
    主站蜘蛛池模板: 久久久国产精品免费A片蜜芽广| 3dbdsm变态videos高清| 日本无码免费久久久精品| 男女边吃奶边做边爱视频| 麻豆久久国产亚洲精品超碰热| 久草网国产自偷拍| 久久99热这里只有精品66| 黑人干亚洲人| 精品麻豆一卡2卡三卡4卡乱码| 激情女人花| 久久91精品国产91久| 精子网久久国产精品| 精品成人在线视频| 久久操韩国自偷拍| 久久夜色精品国产亚州AV卜| 久久精品视在线观看2| 两百磅美女| 內射XXX韩国在线观看| 欧美动物交ideos| 人妻 中文无码 中出| 日本理伦片午夜理伦片| 色综合a在线| 亚洲 欧美 国产 综合久久| 亚洲激情网站| 伊人久久青青| 60老妇性xxxxhd| gogogo视频在线观看| 动漫女主被扒开双腿羞辱| 国产精品第一综合首页| 国精产品一区二区三区有限公司 | 双腿打开揉弄高潮H苏安安秦慕深| 色老99九久精品偷偷鲁| 午夜亚洲精品不卡在线| 亚洲天码中字| 97综合久久| 高清大胆欧美videossexo| 国产午夜精品美女免费大片| 久久精品国产亚洲AV天美18| 魅男mangay| 四虎永久免费| 一点色成人|