tft每日頭條

 > 生活

 > 後台權限設計教程

後台權限設計教程

生活 更新时间:2024-11-26 01:32:13

平台權限管理往往是比較核心的,權限的配置與管理存在很多矛盾的地方。例如權限控制的顆粒度與配置的複雜度就是對立的,如何在不可兼得中找到相對平衡的那個點呢。很多開發者都在不斷努力試圖去接近它,下面聊聊opsone平台在這方面都做了哪些努力和嘗試,也算是抛磚引玉吧。

權限顆粒的控制在接口級别,接口采用自動注冊機制,當平台進程啟動時,各個API接口會自動将各自的接口信息注冊到etcd,權限後台程序會定期拉取etcd接口注冊信息,将接口注冊信息寫入權限數據庫表中并自動維護權限表數據的實時更新。這樣就最大限度地減少了人工配置操作,降低配置難度。

後台權限設計教程(平台權限管理設計)1

在權限驗證環節,采用開源軟件Casbin,Casbin是一個功能強大、高效的開源訪問控制庫。它支持基于各種訪問控制模型強制授權,支持驗證模型包括ACL,RBAC,ABAC,RESTful,Deny-override,Priority等,opsone平台采用了基于RBAC模式的權限驗證。

後台權限設計教程(平台權限管理設計)2

用戶配置方面依然采用極簡的設計開發理念,隻需要簡單的點擊鼠标即可完成權限的配置工作,不需要去理解RBAC的概念,也無需關心修改權限後是如何與casbin進行規則同步的。所有的一切都由後台程序自動完成。

後台權限設計教程(平台權限管理設計)3

左側的菜單欄按照平台的功能模塊進行導航,點擊相應功能模塊菜單即可顯示功能模塊對應的權限配置列表,權限顆粒為接口級别。

後台權限設計教程(平台權限管理設計)4

右側的權限配置區域表示每個角色(基于RBAC)所擁有的權限,通過每個接口權限開關進行開啟或者關閉。

後台權限設計教程(平台權限管理設計)5

最右側的權限顯示功能的主要作用是設置哪些接口可以在角色的權限列表裡顯示,也就是說可以按照實際的業務需求對角色的權限設置複雜度進行控制。例如作業模塊擁有10多個接口,角色對作業模塊的權限控制不需要對這10多個接口都進行配置,這樣隻要對不想配置的接口關閉權限顯示,在角色的權限配置頁面就看不到關閉的接口權限了。

後台權限設計教程(平台權限管理設計)6

可以随時編輯權限名稱

後台權限設計教程(平台權限管理設計)7

後台權限設計教程(平台權限管理設計)8

隻需要點擊一下開啟或者關閉即可對角色擁有的權限進行設置,并且可以按照功能模塊進行清晰的權限設置。如果您有更好的方案或者意見都可以在評論區留言,我們一起探讨學習!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved