999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

按鈕級權限管理與統一認證系統設計與實現

2024-09-04 00:00:00付越張傳國
電腦知識與技術 2024年20期

關鍵詞:權限管理;統一認證;RBAC;OAuth 2;信息系統

0 引言

隨著信息技術的不斷發展,機構內部應用系統的數量和復雜性不斷增加,功能日益復雜,涉及的用戶角色也越來越廣泛。在這些系統中,對用戶權限的統一化、精細化管理,保障系統安全性和數據完整性成為亟待解決的問題[1]。

傳統的權限管理系統要求開發者手動處理每個資源的訪問控制,缺乏對多應用權限的統一管理,使得工程處理非常煩瑣且效率低下,導致延長開發周期,增加開發成本。用戶需要在多個系統中重復登錄,導致用戶體驗不佳且存在安全隱患。系統之間的權限認證和用戶信息同步存在障礙,影響了企業內部信息流暢度和工作效率。

為解決上述問題,本文基于角色的訪問控制模型(Role-Based Access Control,簡稱RBAC) [2],使用Spring Security、OAuth2、JWT等技術框架,設計研發了面向多應用的按鈕級權限管理與用戶統一認證系統。該系統旨在為機構提供一種統一、靈活、高效的權限管理與用戶認證解決方案。開發者可通過配置方式實現對系統級、菜單級、按鈕級等資源的訪問控制,根據具體業務需求精確控制用戶對系統功能的訪問權限,有效降低潛在的安全風險,并提高機構內部應用系統的安全性和管理效率。同時,系統實現了用戶在多個系統中的單點登錄與不同系統間的權限認證和用戶信息同步[3],提高用戶體驗和工作效率,確保企業內部信息的安全性和一致性。

1 系統整體設計

該系統采用Spring Security、JWT、OAuth2等技術架構組件,使用MySQL作為數據存儲服務器,Redis作為緩存數據服務器;與業務系統通過API方式進行權限驗證,系統的整體業務架構如圖1所示。本文的論述重點是多業務系統的按鈕級權限管理以及用戶統一認證功能的實現。結合圖1,下面分別對權限管理與用戶統一認證的流程進行闡述。

1.1 用戶統一認證

1) 業務系統前端請求業務系統后端接口,業務后端攔截請求,調用系統中認證模塊接口進行權限檢查。如發現token無效或已過期,返回未登錄信息給業務后端,業務后端將信息返回給業務前端,業務前端攜帶應用信息(如:client_id、response_type、redi?rect_uri) 跳轉到系統的統一登錄界面。

2) 進入統一認證登錄界面后,登錄頁自動在re?quest header 中攜帶tokenForCode 請求授權碼接口。

初次登錄用戶須在登錄頁輸入用戶名/密碼,登錄頁再次發送請求到系統后端。后端校驗clientId是否存在、用戶名/密碼是否正確、當前用戶是否被允許訪問當前client_id的應用。認證通過會生成一個授權碼code,同時在response header中返回一個tokenForCode 用于維持用戶名/密碼的登錄狀態[4]。登錄頁將token?ForCode保存下來以備其他業務系統自動登錄,同時,將code拼接到redirect_uri中并重定向回redirect_uri。

3) 登錄認證通過后回到業務系統redirect_uri,業務系統取出code 并攜帶client_id、code 值、grant_type 向業務系統后端申請token。業務系統后端將接收的參數以及保存在后端的client_secret拼接到URL中,向系統認證模塊申請token。

4) 系統后臺校驗code有效性(僅可使用1次)、cli?ent_id和client_secret。校驗通過則簽發JWT token(to?ken payload里聲明了username、user_uuid、client_id、當前token可訪問的業務系統集合aud字段等信息)。

5) 業務后端接收到系統認證模塊簽發的token并返回給業務前端,業務前端獲取token后進行業務接口調用,業務后端攔截請求,向系統認證模塊請求進行token校驗、權限檢查。

6) 業務系統B前端請求對應后端接口,其后端同樣攔截請求,向系統認證模塊進行token校驗、權限檢查,返回未登錄信息。該業務后端接收到信息返回給業務B前端,業務B前端重定向到系統登錄界面。由于業務系統A 已經登錄,登錄頁自動攜帶token?ForCode 請求code,同時重定向回業務系統B 前端。業務B無須輸入用戶名/密碼即完成了登錄過程,獲取到授權碼code,后續完成與業務A相同的其他流程。

1.2 權限管理

1) 業務系統后端攔截業務前端界面請求,獲取當前請求的地址(例如/user/search) 和HTTP 方法http?Method(POST) 。后端查詢獲取被訪問接口在系統權限管理模塊注冊的資源ID resourceId(例如:dciiadmin-server) 和access_token,請求系統權限管理模塊權限驗證接口。

2) 系統權限管理模塊根據resourceId查詢出當前業務系統的路徑匹配規則集,找到當前接口的認證規則authentication_type。若當前接口不鑒權(authentica?tion_type為anonymous) ,則直接通過權限檢查;若需要鑒權則取出請求頭里的access_token,校驗token是否被篡改[5],解析其中聲明的信息(例如:username、aud、authorities) 。

3) 根據username查詢緩存數據庫Redis。如查詢結果為空,則當前token已過期;如有值且兩個token相等,則表示token可用,同時將當前token有效期自動延期。如聲明信息中有aud字段,且傳來的resour?ceId與aud字段值不相等,則返回權限不足提示。

4) 系統權限管理模塊提供按鈕權限獲取接口。業務系統在前端界面初始化時調用此接口,鑒權通過后,按鈕獲取接口會返回業務系統當前界面的按鈕顯示信息。

2 系統功能設計與實現

本系統的功能設計采用基于角色的訪問控制模型(RBAC) 。在微服務架構下,應用Hibernate框架嵌入SpringBoot框架中,同時應用Spring Security+JWT實現系統的權限管理功能,應用OAuth框架實現系統的用戶統一認證功能。系統將用戶關聯角色,角色關聯權限,權限關聯應用資源,從而實現賦予用戶相應資源的權限[6]。如圖2所示,本系統由用戶管理、角色管理、權限管理、應用管理、統一認證等模塊組成。

2.1 應用管理

應用指接入該系統的其他業務系統。應用管理功能包括應用列表、添加編輯應用、頁面管理、按鈕管理、接口管理等功能。

應用列表展示接入該系統的其他業務系統信息。用戶可通過應用列表查看和編輯應用詳細信息,設置應用圖標、應用狀態,獲取應用ID、訪問密鑰,配置應用前后端訪問路徑。如圖3所示。

用戶完成應用注冊后,可通過頁面管理和接口管理分別配置相關的頁面和接口信息。頁面管理功能支持手動添加和JSON導入兩種方式添加應用下的頁面資源信息,同時提供編輯和下載原始JSON的功能。頁面信息包括id、path、name、component、redirect、meta 等屬性,前端框架通過獲取頁面信息組織頁面的層級結構。當前端已根據需求將各種組件組成應用后,需要將系統組件映射到路由上,而這些頁面信息即為組成路由表的關鍵屬性。

在大多數后臺管理系統中,都需要導航菜單對頁面進行導航。因此,路由表不僅決定了系統頁面的映射關系,還控制著菜單的排列順序和層級結構。此外,通過接收路由元信息meta屬性,可實現將任意信息附加到路由上,如菜單名稱、菜單圖標等。頁面管理如圖4所示。

頁面結構配置完成后,用戶可以通過按鈕管理功能配置頁面中的按鈕信息。按鈕配置信息包括編碼、說明,前端應用通過編碼信息定位頁面中的按鈕。如圖5所示。

頁面信息配置完成后,用戶可通過接口管理功能設置應用下的接口信息。接口信息包括所屬應用、匹配規則、規則說明、HTTP方法、認證類型以及排序等信息。服務端應用通過接口信息匹配被訪問的接口,服務端對用戶接口權限的鑒權見系統整體設計中的權限管理部分。

2.2 權限管理

權限管理用于實現業務系統應用功能的合理有序組合。權限管理功能包括權限列表、添加編輯權限、頁面權限、按鈕權限、接口權限。權限列表展示系統中的全部權限信息,并提供新增編輯權限入口。

頁面權限管理通過應用設置的頁面結構,為用戶提供設置頁面在某一權限下是否可見的功能。按鈕權限管理則通過頁面中設置的按鈕信息,來設置按鈕在某一權限下是否可見。如圖6所示。

接口權限管理通過應用設置的API信息,提供用戶設置接口在某一權限下是否有權訪問以及鑒權方式。如圖7所示。

2.3 角色管理

角色是對權限的組合,通過設置用戶角色實現對用戶的權限授予[7]。角色管理功能包括角色列表、添加角色、權限設置。角色列表展示系統中的全部角色信息,并提供新增編輯角色入口。

在角色管理中設置權限時,系統分為頁面權限和接口權限兩部分。頁面權限設置專注于業務系統的功能界面、按鈕的訪問控制設置。接口權限以單個API為粒度設置某一角色下接口的訪問控制。

2.4 用戶管理

用戶管理提供用戶信息的展示,用戶注冊、編輯、禁用功能。在用戶注冊時,系統管理員可根據用戶需求設置用戶角色,角色可以是單一角色,也可以是多個角色。用戶注冊時提供的用戶名、手機號碼、郵箱均可作為登錄系統時的用戶賬號。

2.5 統一認證

用戶統一認證包括登錄配置和用戶登錄界面。在登錄配置模塊,用戶可以配置系統的登錄界面。配置完成后,通過地址訪問用戶登錄界面,輸入用戶信息后,經過系統的統一認證完成用戶登錄操作[8]。統一認證的詳細過程見系統整體設計中的統一認證模塊。

3 結論

本系統基于RBAC 模型,結合Spring Security、OAuth2、JWT等技術框架,設計并實現了面向多應用的按鈕級權限管理與用戶統一認證系統。通過統一管理用戶權限,實現了對系統級、菜單級、按鈕級等資源的精細化訪問控制,提高了系統的安全性和管理效率。同時,實現了用戶在多個系統中的單點登錄與權限認證、用戶信息同步,優化了用戶體驗和工作效率。本系統為機構提供了一種統一、靈活、高效的權限管理與用戶認證解決方案,為信息系統的安全和發展提供了有力支持。

主站蜘蛛池模板: 久操中文在线| 欧美劲爆第一页| 91国内外精品自在线播放| 色爽网免费视频| 1024国产在线| 五月激情综合网| 欧美一级一级做性视频| 香蕉久人久人青草青草| 天堂av高清一区二区三区| 成人午夜精品一级毛片| 全部无卡免费的毛片在线看| 免费一级成人毛片| 日韩视频精品在线| 欧美午夜网| 极品国产在线| 一级毛片免费观看久| 国产精品成人一区二区| 四虎影视国产精品| 亚洲区欧美区| av午夜福利一片免费看| 久久久久久高潮白浆| 欧美国产日韩在线观看| 亚洲婷婷六月| 一级毛片免费播放视频| 亚洲天堂伊人| 97青草最新免费精品视频| 日韩精品专区免费无码aⅴ| 国产97视频在线| 四虎精品黑人视频| 欧美黄网在线| 特级毛片免费视频| 欧美精品aⅴ在线视频| 国产免费好大好硬视频| 免费黄色国产视频| 亚洲成人一区二区| 国产成人精品日本亚洲| 九色视频线上播放| 日韩精品一区二区三区swag| 久久女人网| 久草国产在线观看| 国产精品综合色区在线观看| 精品剧情v国产在线观看| 中文无码毛片又爽又刺激| 欧美精品1区| 亚洲欧美另类色图| 九月婷婷亚洲综合在线| 免费女人18毛片a级毛片视频| 精品成人免费自拍视频| 亚洲一区二区三区在线视频| a毛片在线播放| 性网站在线观看| 女人爽到高潮免费视频大全| 99性视频| www.狠狠| 亚洲第一成年人网站| 91九色国产porny| 色综合中文字幕| 久久精品国产电影| 人妻少妇乱子伦精品无码专区毛片| 亚洲日本www| 亚洲色无码专线精品观看| 欧美a在线视频| 成人免费视频一区二区三区 | 欧美精品成人一区二区在线观看| 国产午夜福利亚洲第一| 国产精品天干天干在线观看| 日韩精品成人在线| 老熟妇喷水一区二区三区| 婷婷成人综合| 麻豆AV网站免费进入| 全部免费毛片免费播放| 国产无吗一区二区三区在线欢| 国产午夜精品一区二区三区软件| 国产黄网永久免费| 四虎国产精品永久一区| 国产精品自在自线免费观看| 亚洲国产成人精品无码区性色| 日本欧美中文字幕精品亚洲| 在线观看国产精品第一区免费| 99在线观看国产| 伊人福利视频| 日韩资源站|