日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

AgileConfig轻量级配置中心1.3.0发布,支持多用户权限控制

發(fā)布時(shí)間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AgileConfig轻量级配置中心1.3.0发布,支持多用户权限控制 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

AgileConfig 當(dāng)初是設(shè)計(jì)給我自己用的一個(gè)工具,所以只設(shè)置了一道管理員密碼,沒(méi)有用戶的概念。但是很多同學(xué)在使用過(guò)后都提出了需要多用戶支持的建議。整個(gè)團(tuán)隊(duì)或者整個(gè)公司都使用同一個(gè)密碼來(lái)管理非常的不方便。
今天 AgileConfig 1.3.0 版本終于支持了多用戶,以及簡(jiǎn)單的權(quán)限管理。用戶跟權(quán)限的設(shè)計(jì),在我們開(kāi)發(fā)管理系統(tǒng)的時(shí)候經(jīng)常涉及,最常用的就是RBAC基于角色的權(quán)限控制。但是基于 AgileConfig 簡(jiǎn)單的理念,我稍微簡(jiǎn)化了一點(diǎn)權(quán)限控制的功能設(shè)計(jì),盡量的降低學(xué)習(xí)成本。

權(quán)限設(shè)計(jì)

AgileConfig 的權(quán)限設(shè)計(jì)分為3個(gè)固定的角色:

  • 超級(jí)管理員
    超級(jí)管理員具有一切的控制權(quán)限,可以隨意添加修改刪除用戶、應(yīng)用、配置等等任何信息

  • 管理員
    普通管理員可以新建應(yīng)用,可以刪除修改屬于他的應(yīng)用(應(yīng)用的管理員屬性為當(dāng)前用戶),以及該應(yīng)用的配置項(xiàng)。管理員可以給任何用戶授權(quán)所屬應(yīng)用配置項(xiàng)的管理權(quán)限。管理員可以添加修改刪除角色為操作員的用戶。

  • 操作員
    操作員對(duì)應(yīng)用沒(méi)有任何控制權(quán)限,只能編輯或者發(fā)布下線經(jīng)過(guò)管理員授權(quán)的應(yīng)用的配置項(xiàng)。

  • 用戶管理

    1.3.0 版本新增了多用戶支持,那么用戶管理是必須的功能。

    使用管理員級(jí)別的用戶登錄系統(tǒng)后,點(diǎn)擊“用戶”=>“添加”按鈕彈出用戶新增界面。

    添加“用戶名”、“密碼”、團(tuán)隊(duì)等基本信息后,選擇用戶的角色。點(diǎn)擊“確定”新建用戶。提示成功后就可以使用該用戶登錄系統(tǒng)了。

    應(yīng)用授權(quán)

    1.3.0 版本支持對(duì)用戶進(jìn)行簡(jiǎn)單的授權(quán)管理。

    管理員在新建/編輯應(yīng)用的時(shí)候可以維護(hù)一個(gè)管理員角色的用戶。該賬號(hào)對(duì)該應(yīng)用具有完全的控制權(quán)限。

    如果想要其它用戶來(lái)編輯配置項(xiàng),可以在授權(quán)界面進(jìn)行授權(quán)。點(diǎn)擊“授權(quán)”按鈕彈出授權(quán)界面。

    權(quán)限分為兩部分:

  • 配置修改權(quán):配置項(xiàng)的改刪查權(quán)限

  • 配置上下線權(quán):配置項(xiàng)的上線,下線權(quán)限。

  • 升級(jí)需要更新的數(shù)據(jù)庫(kù)結(jié)構(gòu)

    由于1.3加入了多用戶的支持,新增了幾張表跟字段,導(dǎo)致1.2升級(jí)1.3后程序運(yùn)行報(bào)錯(cuò)的問(wèn)題,需要手工調(diào)整表結(jié)構(gòu)。
    以下以mysql為例:

  • agcapp表新增字段 appadmin varchar(36)

  • 新建agc_user表

  • CREATE TABLE `agc_user` (`id` varchar(36) NOT NULL,`user_name` varchar(50) DEFAULT NULL,`password` varchar(50) DEFAULT NULL,`salt` varchar(36) DEFAULT NULL,`team` varchar(50) DEFAULT NULL,`create_time` datetime(3) NOT NULL,`update_time` datetime(3) DEFAULT NULL,`status` enum('Normal','Deleted') NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  • 新建agcuserapp_auth表

  • CREATE TABLE `agc_user_app_auth` (`id` varchar(36) NOT NULL,`app_id` varchar(36) DEFAULT NULL,`user_id` varchar(36) DEFAULT NULL,`permission` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  • 新建agcuserrole表

  • CREATE TABLE `agc_user_role` (`id` varchar(36) NOT NULL,`user_id` varchar(50) DEFAULT NULL,`role` enum('SuperAdmin','Admin','NormalUser') NOT NULL,`create_time` datetime(3) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

    新建完成表跟字段后重新運(yùn)行程序,會(huì)提示重置超級(jí)管理員密碼,之后就可以正常使用了。

    最后

    ???Github地址:https://github.com/kklldog/AgileConfig 開(kāi)源不易,歡迎star???

    演示地址:AgileConfig Server Demo 超級(jí)管理員賬號(hào):admin 密碼:123456

    關(guān)注我的公眾號(hào)一起玩轉(zhuǎn)技術(shù)

    總結(jié)

    以上是生活随笔為你收集整理的AgileConfig轻量级配置中心1.3.0发布,支持多用户权限控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。