


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、RESTful Web API模式下基于角色的權(quán)限管理設(shè)計(jì)與實(shí)現(xiàn)摘要:結(jié)合基于角色的訪問(wèn)控制原理,實(shí)現(xiàn)基于RESTfulAPI模式的權(quán)限管理。圍繞用戶、角色、功能的根本定義及它們之間的關(guān)系進(jìn)行API編碼,實(shí)現(xiàn)了靈活、實(shí)用的基于角色的權(quán)限管理功能,到達(dá)靈活多變的權(quán)限控制。基于API的接口定義和訪問(wèn)機(jī)制,提高了系統(tǒng)的平安性和多終端的便捷訪問(wèn),實(shí)際應(yīng)用說(shuō)明,該方式具有很好的可擴(kuò)展性和通用性。關(guān)鍵詞:權(quán)限管理角色訪問(wèn)API中圖分類號(hào):TP31文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X202112c-0136-03現(xiàn)在是多終端的應(yīng)用系統(tǒng)時(shí)代,應(yīng)用系統(tǒng)不僅要在PC上運(yùn)行,同時(shí)還需要在平板、智能端運(yùn)行,實(shí)現(xiàn)
2、方便快捷的管理和應(yīng)用。傳統(tǒng)的B/S模式下的權(quán)限管理方式已經(jīng)不能滿足現(xiàn)在的需求。雖然現(xiàn)在市場(chǎng)上的實(shí)現(xiàn)方式很多,但API模式是大家都比較認(rèn)可的,使用面也非常廣泛。API模式下所有的訪問(wèn)接口面向外界是完全暴露的,由于API自身的特點(diǎn),本文提出了基于API模式下權(quán)限訪問(wèn)控制的全面解決方法。用戶在Author2.0授權(quán)訪問(wèn)登錄系統(tǒng)后,通過(guò)用戶-角色-權(quán)限的關(guān)系,獲取到該用戶可以完成的功能及對(duì)這些功能的操作權(quán)限,回送給終端,終端可以通過(guò)功能及權(quán)限來(lái)控制用戶的操作,當(dāng)有越權(quán)訪問(wèn)情況發(fā)生時(shí),API效勞端也會(huì)進(jìn)行訪問(wèn)控制權(quán)限驗(yàn)證,對(duì)于沒(méi)有訪問(wèn)權(quán)限的操作直接略過(guò)。1RESTful及RESTfulWebAPIRES
3、T從資源的角度來(lái)觀察整個(gè)網(wǎng)絡(luò),分布在各處的資源由URI確定,而客戶端的應(yīng)用通過(guò)URI來(lái)獲取資源的表示方式。REST是設(shè)計(jì)風(fēng)格而不是標(biāo)準(zhǔn)。REST通常基于使用 、URI、XML以及HTML這些現(xiàn)有的廣泛流行的協(xié)議和標(biāo)準(zhǔn)。資源是由URI來(lái)指定,資源的操作包括獲取、創(chuàng)立、修改和刪除資源,這些操作正好對(duì)應(yīng) 協(xié)議提供的GET、POST、PUT和DELETE方法。RESTfulWeb效勞也稱為RESTfulWebAPI是一個(gè)使用 并遵循REST原那么的Web效勞。它從以下3個(gè)方面資源進(jìn)行定義:1URI,比方: :/example /resources/。2Web效勞接受與返回的互聯(lián)網(wǎng)媒體類型,比方:JSO
4、N、XML、YAML等。3Web效勞在該資源上所支持的一系列請(qǐng)求方法,比方:POST、GET、PUT、DELETE。2角色、用戶、權(quán)限之間的關(guān)系角色是具備一定操作權(quán)限的用戶組。權(quán)限是資源與操作的一套組合,例如“增加用戶是一種權(quán)限,“刪除用戶是一種權(quán)限,所以對(duì)于一種資源所對(duì)應(yīng)的權(quán)限有且只有4種,如圖1所示。角色、用戶、權(quán)限之間的關(guān)系如圖2所示,三者之間的關(guān)系如下。1角色與用戶的關(guān)系:一個(gè)角色對(duì)應(yīng)一群用戶,一個(gè)用戶也可以扮演多個(gè)角色,所以它們是多對(duì)多的關(guān)系。2角色與權(quán)限的關(guān)系:一個(gè)角色擁有一堆權(quán)限,一個(gè)權(quán)限卻只能屬于一個(gè)角色,所以它們是一角色對(duì)多權(quán)限的關(guān)系。3權(quán)限與用戶的關(guān)系:由于一個(gè)用戶可以扮演
5、多個(gè)角色,一個(gè)角色擁有多個(gè)權(quán)限,所以用戶與權(quán)限是間接的多對(duì)多關(guān)系。3數(shù)據(jù)庫(kù)設(shè)計(jì)具體情況見(jiàn)表1表4。4權(quán)限管理具體實(shí)現(xiàn)4.1基于PHPSlim框架下權(quán)限管理具體實(shí)現(xiàn)系統(tǒng)采用PHPSlim框架進(jìn)行開發(fā)實(shí)現(xiàn),Slim是一款PHP微框架,可以幫助我們快速編寫簡(jiǎn)單但功能強(qiáng)大的web應(yīng)用和API。Slim應(yīng)用程序的每個(gè)路由都將當(dāng)前的請(qǐng)求對(duì)象和響應(yīng)對(duì)象作為它的回調(diào)例程的參數(shù)。這些對(duì)象實(shí)現(xiàn)了流行的PSR7接口。Slim應(yīng)用的路由可以必要地檢查或操作這些對(duì)象。最終,每個(gè)Slim應(yīng)用路由必然返回一個(gè)PSR7響應(yīng)對(duì)象。本文中Slim局部路由配置:$app->group'/platform',f
6、unction$this->group'/menus',function$this->get'/usermenus','MenuService:userMenus';$this->get'/id','MenuService:get';$this->post'/add','MenuService:add';$this->put'/update','MenuService:update';$this->delete
7、9;/delete/id','MenuService:delete';$this->group'/roles',function$this->get'/menuids','RoleService:getMenuIds';$this->get'/id','RoleService:get';$this->post'/grant','RoleService:grant';$this->post'/revoke','
8、;RoleService:revoke';$this->post'/add','RoleService:add';$this->put'/update','RoleService:update';$this->delete'/delete/id','RoleService:delete';4.2實(shí)際應(yīng)用界面本權(quán)限管理模塊已經(jīng)成功應(yīng)用于某國(guó)企信息管理平臺(tái)、調(diào)試平臺(tái)等實(shí)際工程中,并取得了良好的效果。具體界面局部見(jiàn)圖3、圖4。5結(jié)語(yǔ)本文的權(quán)限管理模塊遵循RESTfulWebAPI
9、模式設(shè)計(jì),將前端與后端效勞有效別離,滿足多終端的訪問(wèn)使用。本系統(tǒng)在實(shí)際使用中通過(guò)Author2.0做用戶認(rèn)證模式,更提高了系統(tǒng)的平安性。在實(shí)際應(yīng)用中,權(quán)限系統(tǒng)提交給用戶使用前,至少要建立一個(gè)缺省的管理員用戶,并且不能被刪除,以保證系統(tǒng)能正常運(yùn)行。本系統(tǒng)使用PHP的Slim框架進(jìn)行API開發(fā),使得API開發(fā)簡(jiǎn)捷化,開發(fā)思路清晰化,易于管理與擴(kuò)展,有效提高了開發(fā)效率,也滿足了高并發(fā)高吞吐量。同時(shí)該設(shè)計(jì)充分考慮了API系統(tǒng)權(quán)限控制的需求,能適用于大局部API的權(quán)限控制,具有很強(qiáng)的適用性和推廣價(jià)值。參考文獻(xiàn)【1】Gourley,BrianTotty,MarjorieSayer,etal. :TheDefinitiveGuideM.OReillyMedia,2021.【2】暴志剛,胡艷軍,顧新建.基于Web的系統(tǒng)權(quán)限管理實(shí)現(xiàn)方法J.計(jì)算機(jī)工程,2021,321:169-170.【3】RichardStevens.TCP/IPIllustratedVolumn1:TheProt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年養(yǎng)殖市場(chǎng)分析:生豬價(jià)格與飼料成本博弈下的行業(yè)微利時(shí)代來(lái)臨
- 2025年衛(wèi)浴柜行業(yè)競(jìng)爭(zhēng)分析:衛(wèi)浴柜行業(yè)競(jìng)爭(zhēng)格局更加激烈
- 貴州省銅仁市2024-2025學(xué)年高三上學(xué)期1月期末考試英語(yǔ)試題【含答案】
- 2024-2025學(xué)年北京市朝陽(yáng)區(qū)高二(上)期末歷史試卷
- 2025年公共營(yíng)養(yǎng)師操作試題及答案
- 2025年醫(yī)院常見(jiàn)面試題及答案
- 居家老人測(cè)試題及答案
- 水土保護(hù)毯施工方案
- 5年級(jí)上冊(cè)所有文言文
- 4年級(jí)下冊(cè)英語(yǔ)書科普版
- 施工現(xiàn)場(chǎng)交叉作業(yè)安全防護(hù)管理措施
- 特殊學(xué)生檔案
- 2024年02月浙江2024年蕭山農(nóng)商銀行春季校園招考筆試歷年參考題庫(kù)附帶答案詳解
- 2024年?yáng)|營(yíng)市東營(yíng)區(qū)人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 裝配式混凝土建筑基本結(jié)構(gòu)體系- 楊15課件講解
- 直腸癌新輔助治療
- 10.1溶液的酸堿性教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版下冊(cè)
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》考試復(fù)習(xí)題庫(kù)(含答案)
- 《個(gè)體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識(shí)培訓(xùn)
- 電力法律法規(guī)培訓(xùn)
- 習(xí)近平總書記關(guān)于教育的重要論述研究(云南師范大學(xué))知到智慧樹章節(jié)答案
評(píng)論
0/150
提交評(píng)論