在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于角色的松耦合式權限控制設計

Android編程精選 ? 來源:稀土掘金 ? 2023-01-12 14:31 ? 次閱讀

權限架構

主體采用RBAC(Role-Base Access Control,基于角色的訪問控制)模型,就是用戶通過角色和權限進行關聯實現,多對多的用戶角色關系模式。

ab51a446-8c29-11ed-bfe3-dac502259ad0.png

要由用戶管理、角色管理、菜單管理幾部分組成,角色權限管理包括功能菜單權限、操作權限,數據權限控制,權限主要由功能權限(界面權限、菜單權限、操作權限)和數據權限構成。

ab600824-8c29-11ed-bfe3-dac502259ad0.png

技術架構

系統整體采用微服務架構,安全模塊采用OAuth2開放式授權標準,Token令牌采用JWT標準實現,技術框架采用SpringCloud+SpringGateway+SpringSecurity+自定義權限表達式。

ab6fe9b0-8c29-11ed-bfe3-dac502259ad0.png

(Open Authorization,開放授權)是為用戶資源的授權定義了一個安全、開放及簡單的標準,第三方無需知道用戶的賬號及密碼,就可獲取到用戶的授權信息

Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而執行的一種基于JSON的開放標準((RFC 7519).該token被設計為緊湊且安全的,特別適用于分布式站點的單點登錄(SSO)場景。

JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便于從資源服務器獲取資源,也可以增加一些額外的其它業務邏輯所必須的聲明信息,該token也可直接被用于認證,也可被加密。

權限配置

密鑰配置

系統遵循OAuth2開放式授權標準協議,Token令牌采用RSA非對稱加密算法加密,系統用戶密碼采用MD5加密。

ab7b17b8-8c29-11ed-bfe3-dac502259ad0.png

權限表達式配置

鑒權(authentication)是指驗證用戶是否擁有訪問系統的權利,鑒權配置即配置哪些資源需要什么權限才能訪問,配置資源與權限之間的關系。

權限配置文件位于resources/security.yml

ab8e82d0-8c29-11ed-bfe3-dac502259ad0.png

在介紹權限表達式配置之前需要先了解下權限表達式、URL路徑、權限謂詞3個概念, 權限表達式描述資源權限的邏輯關系,包括請求方式、URL路徑、權限謂詞3個部分, 請求方式即HTTP請求方法,如:GET、POST、PUT、DELETE等,URL路徑即需要鑒權的URL路徑地址,支持多種通配符匹配,權限謂詞用于描述或判定權限性質、特征或權限之間關系的表達式。

ab9fa466-8c29-11ed-bfe3-dac502259ad0.png

格式語法

目前支持兩種類型的權限表達語法,分別功能權限表達式、數據權限表達式。

功能權限表達式

HTTP請求方法 URL路徑=權限謂詞表達式

abac0404-8c29-11ed-bfe3-dac502259ad0.png

紅色部分:HTTP請求方法,例如GET、POST、PUT、DELETE等

黃色部分:空格占位符

綠色部分:URL表達式,支持多種通配符。例如:/app/*/users,app/**

橙色部分:等于號占位符,描述左側匹配資源需要右側權限。

藍色部分:權限謂詞,例如:(view&&export)||edit表示需要查看與導出權限,或者編輯權限。

數據權限表達式

HTTP請求方法 URL路徑參數=權限謂詞表達式參數

abb926a2-8c29-11ed-bfe3-dac502259ad0.png

淺綠色部分:參數占位符,數據定位參數顧名思義用于唯一標識行級數據的參數,支持多參數標識,支持批量行數據定位鑒權。

URL路徑表達式

URL路徑表達式,用于配置需要進行鑒權的資源路徑地址。路徑有三種通配符匹配方法,這些可以組合出很多種靈活的路徑模式

abc76ac8-8c29-11ed-bfe3-dac502259ad0.pngabdafff2-8c29-11ed-bfe3-dac502259ad0.pngabe85026-8c29-11ed-bfe3-dac502259ad0.png

示例:

abf50f00-8c29-11ed-bfe3-dac502259ad0.png

權限謂詞

支持與或非邏輯運算: 例如: a&&b, a||b, (a&&b)||(c&&d), a&&b||c, !a, !(a&&b),例如:view&&export)||edit表示校驗是否擁有查看和導出的權限,或者編輯權限。

參數

數據權限控制需要唯一標識行數據,用于驗證用戶是否有該數據的操作權限,參數占位符為數據定位器的參數名,支持單參數、復合參數,單條數據定位鑒權({參數名}大括號),批量數據定位鑒權([參數名]中括號)。例如單參數userId用戶編號,productId產品編號,復合參數type類型、productId產品編碼,批量數據權限鑒權userIds用戶編碼集,需要指出的是每個表達式運算的數據對象是每一條數據。

示例:

abfff60e-8c29-11ed-bfe3-dac502259ad0.png

一個參數時權限項表達式參數默認可以不配置/user/{id}=view&&eidt等于/user/{id}=view{id}&&eidt{id} 路徑參數

ac0bf1de-8c29-11ed-bfe3-dac502259ad0.png

實體參數

ac1860ea-8c29-11ed-bfe3-dac502259ad0.pngac2350f4-8c29-11ed-bfe3-dac502259ad0.png

復合參數

ac2e989c-8c29-11ed-bfe3-dac502259ad0.pngac3e3964-8c29-11ed-bfe3-dac502259ad0.png

元素配置

權限配置由permit-paths白名單、jwt-users來賓用戶、resource資源權限3部分元素組成,其中resource元素包括authrities、data-authrities兩部分元素。

ac499fa2-8c29-11ed-bfe3-dac502259ad0.png

permit-paths白名單

無需進行權限過濾的請求路徑,當系統有些資源不需要進行權限過濾的時候配置該元素,配置語法如下圖所示,路徑表達式配置。

ac546540-8c29-11ed-bfe3-dac502259ad0.png

Resource資源權限

資源權限配置元素為權限模塊的核心元素,包括authrities功能權限、data-authrities數據權限,兩者的區別在于功能權限為URL匹配路徑的權限控制,數據權限在URL匹配路徑的基礎上增加了數據鑒權控制。

Authrities功能權限

功能權限控制,通常表示界面業務功能接口權限的控制,例如:用戶列表數據獲取接口,用戶信息添加、刪除、更新等等接口的權限控制。

ac5f0a04-8c29-11ed-bfe3-dac502259ad0.png

data-authrities數據權限

數據權限控制,為更細粒度的權限控制,是對業務行級數據的操作權限進行控制,例如用戶只能查看、操作自己創建的數據,管理員可以賦權給指定的用戶或角色查看、操作某些某條數據。

ac708888-8c29-11ed-bfe3-dac502259ad0.png

微前端

微前端架構是一種類似于微服務的可插拔式架構,它將微服務的理念應用于瀏覽器端,即將 Web 應用由單一單體應用變為多個小型可獨立運行、獨立開發、獨立部署的應用。

ac8003bc-8c29-11ed-bfe3-dac502259ad0.png

前端頁面通過微前端加載器,利用頁面路由和動態加載等技術,實現前端集成主頁面與微前端的“拼圖式”開發。前端集成項目團隊只需關注前端整體風格、微前端之間的數據交互和頁面路由等內容,不涉及前端與后端之間以及后端與后端之間的 API 集成,從而降低集成過程中的技術敏感度、團隊溝通成本和集成復雜度,提高交付效率和用戶體驗。

ac8d20f6-8c29-11ed-bfe3-dac502259ad0.png

外部系統前端應用部署集成,各系統前端應用組件獨立打包部署,通過配置部署、動態加載應用、統一生命周期管理。

ac9a362e-8c29-11ed-bfe3-dac502259ad0.png

總結

基于權限表達式實現的系統可輕松集成被集成,業務系統作為子系統存在,安全權限管理由宿主統統一處理,將復雜且耦合性高的權限控制從業務服務中剝離,業務子系統只需關注業務邏輯處理,真正做到無縫集成,降低了系統集成的難度與復雜性,提升了系統的整體性能和可維護性。

系統權限模塊只是實現了基本的權限控制需求,還存在許多需要完善的地方,例如前端頁面功能按鈕的權限控制、大數據量的權限數據維護繁瑣,需要一條條添加維護好菜單、功能權限、操作權限數據,手動配置鑒權數據極易出錯等等。或許將來有需要可以優化的地方。

自動識別功能權限數據

集成新的業務服務維護功能權限數據需要對業務服務接口全面了解,需要一條條維護好功能接口,URL地址、權限標識符極易存在拼寫錯誤,或許可以通過一定的場景自動掃描獲取注冊服務所有公開的資源接口,管理員可以在系統里通過界面自動查看、搜索資源接口動態可選擇地導入接口數據(功能權限數據)。

自動初始化操作權限

一般功能操作為增、刪、改、查,可以在添加菜單數據后自動初始化操作功能,用戶也可以單獨添加修改操作功能數據。

基礎數據權限可配置

根據需要可以通過界面,選擇需要進行數據權限控制的業務模塊,自動導入數據權限控制基礎數據。

自助式鑒權配置

用戶可以通過可視化界面簡單操作配置白名單、來賓用戶權限、資源權限等數據,支持鑒權配置數據導入導出等,例如:自動列出所有功能接口通過搜索、勾選等方式選擇需要鑒權的資源,引導式配置權限謂詞表達式等。






審核編輯:劉清

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

    關注

    0

    文章

    139

    瀏覽量

    15339
  • RSA
    RSA
    +關注

    關注

    0

    文章

    59

    瀏覽量

    18892
  • RBAC
    +關注

    關注

    0

    文章

    44

    瀏覽量

    9968
  • HTTP協議
    +關注

    關注

    0

    文章

    61

    瀏覽量

    9721

原文標題:松耦合式的權限控制設計,自定義權限表達式yyds!

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    耦合無線充電方案詳解

    方案進行無線充電,否則將構成安全隱患。 與緊耦合技術相比,耦合的限制少了許多。無線充電三大聯盟分別是:無線充電聯盟WPC(Wireless Power Consortium)/Qi、電力事業聯盟PMA
    發表于 10-09 14:45

    耦合方式將成無線充電技術主流

    ElJallad日前在接受《中國電子報》記者采訪時表示,與此前流行的緊耦合無線充電技術相比,技術趨于成熟的耦合充電是下一代無線充電技術,應用場景廣泛。  從緊到帶來哪些優點  無
    發表于 11-30 16:46

    光電耦合式穩壓電源電路由什么組成?

    光電耦合式穩壓電源電路
    發表于 03-02 09:52

    Rototest軸耦合式底盤測功機產品有哪些優勢?

    Rototest軸耦合式底盤測功機(輪轂式)可模擬整車實際行駛的道路負載,同步采集驅動輪扭矩、轉速等參數,分析整車動力性能。同時也可配備其他設備進行經濟性、排放性、能量管理和續駛里程等試驗。系統組成
    發表于 08-30 06:22

    耦合式集中濾波器電路

    耦合式集中濾波器電路
    發表于 12-15 17:36 ?411次閱讀
    內<b class='flag-5'>耦合式</b>集中濾波器電路

    耦合式集中參數濾波器電路

    耦合式集中參數濾波器電路
    發表于 12-15 17:47 ?498次閱讀
    外<b class='flag-5'>耦合式</b>集中參數濾波器電路

    耦合式數據傳輸電路

    耦合式數據傳輸電路
    發表于 12-22 02:28 ?443次閱讀
    光<b class='flag-5'>耦合式</b>數據傳輸電路

    射極耦合式差動放大電路圖

    射極耦合式差動放大電路圖
    發表于 05-07 12:52 ?1947次閱讀
    射極<b class='flag-5'>耦合式</b>差動放大電路圖

    基于角色訪問控制的單點登錄模型研究與設計

    為了解決復雜Web服務中用戶認證與權限管理的問題,對單點登錄技術的進行了研究。在此基礎上,根據單點登錄技術的特點結合基于角色控制訪問提出了基于角色訪問
    發表于 12-17 10:59 ?24次下載
    基于<b class='flag-5'>角色</b>訪問<b class='flag-5'>控制</b>的單點登錄模型研究與設計

    基于角色的多約束動態權限管理模型

    在基于角色的訪問控制模型(RBAC)基礎上,引入訪問終端、網絡環境和接入方式等外部因素,提出了基于角色的多約束動態權限管理模型,依據外部因素的安全程度和資源可能帶來安全風險分別對外部因
    發表于 11-14 11:17 ?6次下載
    基于<b class='flag-5'>角色</b>的多約束動態<b class='flag-5'>權限</b>管理模型

    耦合特性對混合式磁軸承的影響

    主動與被動混合式磁軸承(Hybrid Magnetic Bearing,HMB)的徑向利用無需控制的斥力型徑向被動軸承,使其機械結構、控制更加簡單,具有一定的發展前景。通常設計HMB的方法是對推力
    發表于 03-13 11:18 ?1次下載
    力<b class='flag-5'>耦合</b>特性對混<b class='flag-5'>合式</b>磁軸承的影響

    sqlserver的角色權限總結

    服務器角色: 服務器角色的擁有者只有登入名,服務器角色是固定的,用戶無法創建服務器角色
    的頭像 發表于 01-13 14:30 ?1.6w次閱讀

    耦合反激LED電源的分析與設計

    電子發燒友網站提供《耦合反激LED電源的分析與設計.pdf》資料免費下載
    發表于 11-07 14:52 ?0次下載
    <b class='flag-5'>松</b><b class='flag-5'>耦合</b>反激LED電源的分析與設計

    差分對緊耦合真的比耦合好嗎?

    差分對緊耦合真的比耦合好嗎?
    的頭像 發表于 11-30 15:24 ?963次閱讀
    差分對緊<b class='flag-5'>耦合</b>真的比<b class='flag-5'>松</b><b class='flag-5'>耦合</b>好嗎?

    華納云:設置RBAC權限的方法

    設置 RBAC(基于角色的訪問控制權限通常涉及以下幾個步驟: 1. 定義角色: ? ?確定組織中不同的角色,這些
    的頭像 發表于 11-11 16:20 ?198次閱讀
    主站蜘蛛池模板: 日韩成人午夜| 丁香花在线视频| 一本视频在线| 色 ed2k| 伊人久久狼人| 久久综合九色欧美综合狠狠| 午夜精品一区二区三区在线观看 | 4438x五月天| 一级黄色片欧美| 激情婷婷网| 男女啪视频大全1000| 男人j进女人j视频| 免费黄色大片| 色姑娘天天干| 二级片在线| 黄色亚洲| 国产午夜亚洲精品| 亚洲国产成人久久三区| 国产高清成人| 欧美性一区| 全国最大色成免费网站| 手机看片午夜| 中国毛茸茸bbxx| 国产三级一区| 欧美黑人性受xxxx精品| 色视频在线免费| 天天狠天天插| 不卡免费在线视频| 国产精品伦理久久久久| 啪啪网站视频| 欧美三级中文字幕hd| 久久亚洲国产成人精品性色| 永久黄网站色视频免费| 国产无圣光高清一区二区| 欧美亚洲综合另类成人| 欧美高清一区二区三| 就爱干草视频| 四虎欧美| 免费又爽又黄的禁片1000部| 亚洲高清色| 天天综合视频网|