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

基于RBAC的通用權(quán)限管理系統(tǒng)設(shè)計

2022-02-18 04:25:39晟,羅
科技創(chuàng)新與應(yīng)用 2022年9期
關(guān)鍵詞:用戶信息系統(tǒng)

楊 晟,羅 奇

(湖南信息職業(yè)技術(shù)學(xué)院,湖南 長沙 410200)

權(quán)限管理功能是信息管理系統(tǒng)不可或缺的重要組成部分,是保證信息系統(tǒng)安全性的前提和基礎(chǔ)[1-2]。權(quán)限管理可以對用戶的登錄進行驗證,對系統(tǒng)的資源訪問進行鑒權(quán),防止用戶對系統(tǒng)越權(quán)使用,保障數(shù)據(jù)在采集、存儲和傳輸過程中的安全性。基于角色的訪問控制(Role-Base Access Control,RBAC)模型是當(dāng)前比較主流的一種權(quán)限管理方式。RBAC模型包含了用戶、角色和權(quán)限三大實體[3],通過為用戶分配角色,以及為角色分配權(quán)限,可以批量為用戶賦予相同的權(quán)限[4]。由于角色與權(quán)限之間的關(guān)系相對穩(wěn)定,RBAC通過角色的使用實現(xiàn)了用戶與權(quán)限之間的邏輯分離,大大提高了權(quán)限管理的便捷度[5-6]。隨著系統(tǒng)復(fù)雜度以及用戶種類的增加,權(quán)限管理問題也隨之變得更為復(fù)雜[7]。特別是對于包含多個業(yè)務(wù)應(yīng)用的系統(tǒng),往往需要對每個業(yè)務(wù)應(yīng)用都進行權(quán)限控制,因此設(shè)計一款通用的權(quán)限管理系統(tǒng)已成為信息系統(tǒng)開發(fā)中的重點需求。本文設(shè)計了一個基于RBAC的通用權(quán)限管理系統(tǒng),采用Spring Boot技術(shù)進行開發(fā),通過提供對用戶、角色以及權(quán)限信息的管理,設(shè)置它們之間的關(guān)系來控制不同用戶對資源的操作權(quán)限。同時,還可支持對多個業(yè)務(wù)應(yīng)用的統(tǒng)一權(quán)限管理,業(yè)務(wù)系統(tǒng)開發(fā)完成后,只需要集成通用權(quán)限管理系統(tǒng),便能實現(xiàn)對業(yè)務(wù)系統(tǒng)的訪問控制。

1 需求分析

1.1 可行性分析

1.1.1 社會可行性

權(quán)限管理負責(zé)保護數(shù)據(jù)安全,防止其被破壞、篡改或泄露,是應(yīng)用軟件正常運行的基本安全保障。權(quán)限管理的基本原理是為系統(tǒng)中的每一個操作定義好所需要的權(quán)限,并根據(jù)用戶工作內(nèi)容的需要,為用戶分配好特定的權(quán)限,以方便其對指定資源的訪問。不同等級的權(quán)限可以訪問的資源可能截然不同,當(dāng)用戶在業(yè)務(wù)系統(tǒng)中訪問某個資源時,權(quán)限管理功能只需要判斷,當(dāng)前用戶已分配的所有資源訪問權(quán)限中是否包含當(dāng)前訪問所需要的權(quán)限。若包含,則允許用戶繼續(xù)執(zhí)行對當(dāng)前資源的訪問,反之則拒絕用戶的操作要求。權(quán)限管理根據(jù)職位分工的不同為不同用戶分配不同的資源訪問權(quán)限,并通過鑒權(quán)防止用戶的越權(quán)操作,避免用戶的失誤操作或惡意訪問,保障了系統(tǒng)資源的安全性。而對于包含多個業(yè)務(wù)應(yīng)用的復(fù)雜系統(tǒng),若針對每個應(yīng)用設(shè)計一套權(quán)限管理功能則不僅開發(fā)過程十分繁瑣,而且會增加系統(tǒng)上線后管理的復(fù)雜度,費時費力,容易造成人力和物力資源的極大浪費。因此,設(shè)計出一款通用的權(quán)限管理系統(tǒng),讓多個業(yè)務(wù)系統(tǒng)只需集成到通用權(quán)限管理系統(tǒng),即可實現(xiàn)對業(yè)務(wù)系統(tǒng)權(quán)限功能的集中統(tǒng)一管理,便顯得尤為重要。因此,設(shè)計一款通用的權(quán)限管理系統(tǒng)已成為信息系統(tǒng)開發(fā)中的重點需求,可以有效節(jié)約多業(yè)務(wù)應(yīng)用系統(tǒng)的開發(fā)成本,促進社會信息化的發(fā)展。

1.1.2 技術(shù)可行性

本系統(tǒng)采用B/S架構(gòu),用戶在使用本系統(tǒng)時無需安裝客戶端軟件,只需要通過瀏覽器即可進行訪問。系統(tǒng)運用MVC開發(fā)模式,實現(xiàn)前后端分離。其中后端以Java作為開發(fā)語言,由于Java具有高度的可移植性,因此系統(tǒng)可以部署在任意操作系統(tǒng)的服務(wù)器上。以Spring Boot+MyBatis作為開發(fā)框架,采用MySQL數(shù)據(jù)庫技術(shù)來進行數(shù)據(jù)的存儲,并使用Maven來進行系統(tǒng)資源的管理和項目的構(gòu)建,采用GIT進行代碼版本控制;前端采用Bootstrap+jQuery作為開發(fā)框架,并使用AJAX技術(shù)和后端進行數(shù)據(jù)交互。以上技術(shù)都是當(dāng)前成熟且主流的技術(shù),因此采用上述技術(shù)進行設(shè)計開發(fā)通用權(quán)限管理系統(tǒng)是可行的。

1.2 功能需求分析

權(quán)限管理功能讓不同身份的用戶,具有對系統(tǒng)資源的不同操作權(quán)限,以達到避免越權(quán)操作、提高系統(tǒng)資源安全性的目的。對于包含多個業(yè)務(wù)應(yīng)用的信息系統(tǒng),其權(quán)限管理必定十分復(fù)雜。通用權(quán)限管理系統(tǒng)能夠集成到多個業(yè)務(wù)系統(tǒng)中,對業(yè)務(wù)系統(tǒng)中的權(quán)限控制進行統(tǒng)一的管理,節(jié)約開發(fā)及管理成本。系統(tǒng)總體功能有用戶信息管理、角色信息管理、權(quán)限信息管理、組織機構(gòu)管理、應(yīng)用系統(tǒng)管理和菜單信息管理6個部分。并且,權(quán)限管理系統(tǒng)還應(yīng)支持對用戶令牌的驗證、登錄時賬戶密碼的驗證以及對用戶操作的鑒權(quán)。

1.3 性能需求

1.3.1 數(shù)據(jù)安全性

系統(tǒng)數(shù)據(jù)安全是至關(guān)重要的,系統(tǒng)要保證系統(tǒng)敏感數(shù)據(jù)的安全,要求對一些安全級別較高的數(shù)據(jù)采用加密的方式,防止一些不法分子通過注入來獲取甚至篡改數(shù)據(jù),關(guān)閉通過HTTP方式實現(xiàn)數(shù)據(jù)訪問模式,只允許系統(tǒng)超級管理員訪問權(quán)限管理系統(tǒng)。

1.3.2 實時性

由于業(yè)務(wù)系統(tǒng)的所有訪問都需要請求權(quán)限管理系統(tǒng)進行鑒權(quán),當(dāng)用戶訪問業(yè)務(wù)系統(tǒng)時,不僅要等待業(yè)務(wù)系統(tǒng)的響應(yīng),中間還要等待權(quán)限管理系統(tǒng)的鑒權(quán)響應(yīng)。為了不讓用戶在操作時等待過長時間,必須提高權(quán)限管理系統(tǒng)的響應(yīng)速度,鑒權(quán)響應(yīng)時間不能超過1 s。

1.3.3 可擴展性

隨著時間的推移,系統(tǒng)往往會伴隨著業(yè)務(wù)需求的變動。而如果對系統(tǒng)進行重新設(shè)計開發(fā)則容易造成人力、物力資源的浪費,因此往往會在原系統(tǒng)的基礎(chǔ)上進行升級。為了保證能夠順利完成更新升級,系統(tǒng)必須要具有良好的可擴展性。首先系統(tǒng)在設(shè)計時需要采用MVC模式,實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯層、數(shù)據(jù)層和表現(xiàn)層相分離,使得當(dāng)某一層級發(fā)生改變時,其他層級不發(fā)生變動或者變動較小;其次遵循“高內(nèi)聚、低耦合”的思路,對系統(tǒng)功能進行模塊化設(shè)計,保持各個模塊之間的相對獨立性,當(dāng)一個模塊發(fā)生異常時,其他模塊仍然可以正常使用,并且在維護時還可以快速定位到異常發(fā)生的位置。最后,在開發(fā)時必須嚴格按照標(biāo)準(zhǔn)化要求進行文檔和代碼的編寫,充分考慮將來系統(tǒng)擴展的需求,預(yù)留好相應(yīng)的接口和方法。

2 系統(tǒng)功能設(shè)計與實現(xiàn)

2.1 系統(tǒng)功能設(shè)計

2.1.1 用戶信息管理模塊設(shè)計

管理員登錄系統(tǒng)后,可以對用戶信息進行維護:包括添加用戶信息、修改用戶信息、查詢用戶信息、刪除用戶信息和凍結(jié)/解凍用戶等操作。用戶管理模塊中包含了所有能夠訪問業(yè)務(wù)系統(tǒng)的用戶信息,用戶信息中包含了用戶登錄系統(tǒng)的賬號和密碼。當(dāng)用戶被創(chuàng)建時,系統(tǒng)將會為用戶指定一個初始密碼,初始密碼是一個隨機字符組合,初始密碼將以郵箱的形式發(fā)送給用戶。當(dāng)用戶首次登錄系統(tǒng)時,需要修改密碼。當(dāng)用戶忘記密碼時,系統(tǒng)支持用戶根據(jù)郵箱找回密碼。只有當(dāng)用戶賬戶被創(chuàng)建后,該用戶才能訪問業(yè)務(wù)系統(tǒng),若用戶被刪除則無法再使用系統(tǒng)。同時,系統(tǒng)支持對用戶賬戶的凍結(jié)和解凍,管理員可以對任意賬戶進行凍結(jié)和解凍。用戶被凍結(jié)后,將無法使用系統(tǒng),直至解凍后方可繼續(xù)使用系統(tǒng)。

2.1.2 組織機構(gòu)管理模塊設(shè)計

為了使系統(tǒng)適應(yīng)不同規(guī)模的管理需要,保障系統(tǒng)在規(guī)模龐大、組織機構(gòu)復(fù)雜的單位中順利運行。系統(tǒng)在RBAC的基礎(chǔ)上,還添加了對組織機構(gòu)的管理。管理員登錄系統(tǒng)后可以對組織機構(gòu)進行維護,包括添加組織機構(gòu)信息、修改組織機構(gòu)信息、查詢組織信息以及刪除組織機構(gòu)信息等操作。同時,系統(tǒng)還支持樹形結(jié)構(gòu)的機構(gòu)管理,以構(gòu)建組織機構(gòu)的層級關(guān)系,即每個組織機構(gòu)下可以創(chuàng)建若干個子組織機構(gòu),而每個子組織機構(gòu)依然可以根據(jù)需要創(chuàng)建下屬機構(gòu),使得管理者可以方便快捷地根據(jù)組織規(guī)模需要添加下屬公司、單位、機構(gòu)和部門等。

2.1.3 角色信息管理模塊設(shè)計

基于角色的訪問控制是目前比較流行的一種權(quán)限管理方案,實現(xiàn)了用戶與權(quán)限之間的邏輯分離。所有角色創(chuàng)建在組織機構(gòu)下,每個組織機構(gòu)根據(jù)需要可以創(chuàng)建不同的角色信息。管理員登錄系統(tǒng)后,可以對角色信息進行維護,包括添加角色信息、修改角色信息、查詢角色信息和刪除角色信息等操作。此外,管理員還可以給用戶分配角色,一個用戶可以分配多個角色,并且這些角色可以屬于不同的組織機構(gòu),同一個角色也可以分配給多個不同的用戶。

2.1.4 應(yīng)用信息管理模塊設(shè)計

除了本權(quán)限管理系統(tǒng)外,系統(tǒng)還需要支持添加若干業(yè)務(wù)應(yīng)用系統(tǒng)。為了支持不同的應(yīng)用擁有不同的菜單及權(quán)限,并方便對多個應(yīng)用的登錄及鑒權(quán)進行統(tǒng)一管理,系統(tǒng)添加了對業(yè)務(wù)應(yīng)用系統(tǒng)的管理,包括添加應(yīng)用信息、修改應(yīng)用信息和刪除應(yīng)用信息等操作。

2.1.5 菜單信息管理模塊設(shè)計

為了保證不同角色的用戶登錄后會進入到不同的頁面,執(zhí)行不同的操作,首先需要讓不同用戶擁有不同的菜單。所有菜單信息都創(chuàng)建在應(yīng)用下,每個應(yīng)用根據(jù)需要可以創(chuàng)建不同的菜單信息。管理員登錄系統(tǒng)后,可以對菜單信息進行維護,包括添加菜單信息、修改菜單信息、查詢菜單信息和刪除菜單信息。管理員還可以為角色分配菜單,一個角色可以分配多個菜單,并且這些菜單可以屬于不同的應(yīng)用。

2.1.6 權(quán)限信息管理模塊設(shè)計

為了支持不同角色的用戶擁有不同的操作權(quán)限,系統(tǒng)添加了對具體操作權(quán)限的定義和維護,包括添加權(quán)限信息、修改權(quán)限信息、查詢權(quán)限信息和刪除權(quán)限信息。每個權(quán)限代表對系統(tǒng)中不同資源的操作功能,當(dāng)用戶具有某項權(quán)限時,便能對指定資源執(zhí)行對應(yīng)的操作。所有權(quán)限信息都創(chuàng)建在應(yīng)用下,每個應(yīng)用根據(jù)需要可以創(chuàng)建不同的權(quán)限信息。此外,管理員還可以為角色分配權(quán)限,一個角色可以分配多個權(quán)限,并且這些權(quán)限可以屬于不同的應(yīng)用。

2.2 權(quán)限控制設(shè)計

2.2.1 用戶登錄過程設(shè)計

為了保證系統(tǒng)運行的安全性,避免數(shù)據(jù)被惡意獲取和篡改。系統(tǒng)所有功能都必須在用戶成功登錄后才能訪問,并使用SHA-256哈希算法對數(shù)據(jù)庫中的用戶密碼進行加密,防止用戶密碼泄露。當(dāng)用戶訪問業(yè)務(wù)系統(tǒng)時,業(yè)務(wù)系統(tǒng)首先判斷用戶是否登錄,若未登錄,則判斷當(dāng)前用戶的Cookie中是否包含令牌,若不包含令牌,則強制跳轉(zhuǎn)到登錄頁面,提示用戶先輸入用戶名密碼進行登錄才能訪問系統(tǒng)。若用戶包含令牌,則業(yè)務(wù)系統(tǒng)將請求權(quán)限管理系統(tǒng)判斷用戶令牌是否有效,若無效,則跳轉(zhuǎn)到登錄頁面,提示用戶輸入用戶名密碼。用戶輸入用戶名和密碼后,業(yè)務(wù)系統(tǒng)將請求權(quán)限管理系統(tǒng)進行驗證,驗證通過即可登錄成功。

2.2.2 用戶操作權(quán)限控制

為了控制不同用戶的操作權(quán)限,防止越權(quán)訪問,系統(tǒng)對于用戶的每一個操作都要進行鑒權(quán)。當(dāng)用戶登錄成功時,權(quán)限管理系統(tǒng)將從數(shù)據(jù)庫中讀取用戶的所有操作權(quán)限信息,并將這些權(quán)限信息作為集合存儲到內(nèi)存中,并使用用戶的身份信息作為索引,建立起用戶身份信息和權(quán)限集合信息的對應(yīng)關(guān)系。當(dāng)用戶在業(yè)務(wù)系統(tǒng)中發(fā)出執(zhí)行某項操作的請求時,業(yè)務(wù)系統(tǒng)將首先請求通用權(quán)限管理系統(tǒng)進行鑒權(quán)。業(yè)務(wù)系統(tǒng)只需要將用戶的身份信息和指定操作所需的權(quán)限信息傳入到通用權(quán)限管理系統(tǒng)的鑒權(quán)接口,然后根據(jù)其返回結(jié)果即可確定用戶是否具有執(zhí)行該項操作的權(quán)限。通用權(quán)限管理系統(tǒng)接收到業(yè)務(wù)系統(tǒng)的鑒權(quán)請求后,則根據(jù)用戶的身份信息獲取前用戶存儲在內(nèi)存中的權(quán)限信息集合,判斷該集合中是否包含執(zhí)行當(dāng)前操作所需的指定操作權(quán)限,并將鑒權(quán)結(jié)果返回給業(yè)務(wù)系統(tǒng)。若當(dāng)前用戶包含對應(yīng)的操作權(quán)限,業(yè)務(wù)系統(tǒng)則允許用戶進行操作,反之則禁止用戶執(zhí)行當(dāng)前操作,并強制用戶退出當(dāng)前系統(tǒng)。

2.3 數(shù)據(jù)庫設(shè)計

本系統(tǒng)采用開源的MySQL數(shù)據(jù)庫系統(tǒng)進行數(shù)據(jù)存儲。完成系統(tǒng)功能所需的數(shù)據(jù)表有用戶信息表、組織機構(gòu)信息表、角色信息表等。數(shù)據(jù)表結(jié)構(gòu)設(shè)計為:用戶信息表(用戶id、用戶名、密碼、昵稱、性別、聯(lián)系電話、電子郵箱地址、角色編碼、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);組織機構(gòu)信息表(組織機構(gòu)id、組織機構(gòu)編碼、組織機構(gòu)名稱、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);角色信息表(角色id、角色編碼、角色名稱、父角色id、組織機構(gòu)id、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);應(yīng)用信息表(應(yīng)用id、應(yīng)用編碼、應(yīng)用名稱、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);菜單信息表(菜單id、應(yīng)用id、菜單標(biāo)題、父菜單id、菜單級別、菜單url、菜單類型、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);權(quán)限信息表(權(quán)限id、操作名稱、操作編碼、刪除標(biāo)志位、創(chuàng)建人id、創(chuàng)建時間、修改人id和修改時間);用戶角色關(guān)聯(lián)表(用戶id、角色id);角色菜單關(guān)聯(lián)表(角色id、菜單id);角色權(quán)限關(guān)聯(lián)表(角色id、權(quán)限id)。

3 結(jié)束語

本文設(shè)計了一款通用的權(quán)限管理系統(tǒng),能夠?qū)崿F(xiàn)對業(yè)務(wù)系統(tǒng)的資源訪問進行控制,防止越權(quán)操作,保障系統(tǒng)安全,并且能方便快捷地集成到多業(yè)務(wù)應(yīng)用中,實現(xiàn)權(quán)限管控的集中統(tǒng)一管理,可以有效提高信息系統(tǒng)的開發(fā)效率,節(jié)約權(quán)限管理成本。

猜你喜歡
用戶信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产精品无码一二三视频| 久久综合AV免费观看| 婷婷五月在线视频| 国产免费久久精品99re不卡| 老司国产精品视频91| 亚洲中文字幕久久精品无码一区 | 欧美成人精品高清在线下载| 中文字幕亚洲综久久2021| 中文字幕无码制服中字| 亚洲制服丝袜第一页| 国产成人免费| 免费无遮挡AV| 在线精品视频成人网| 国产日韩精品欧美一区灰| 一级毛片免费高清视频| 国产系列在线| 日韩欧美高清视频| 久久国产精品影院| 亚洲黄色视频在线观看一区| 亚洲中文字幕在线观看| 亚洲精品国产首次亮相| 国产一级在线观看www色| 国产成年女人特黄特色毛片免| 天天色综合4| 国产精品免费p区| 一本一道波多野结衣一区二区| 日韩一级毛一欧美一国产| 日韩欧美在线观看| a在线亚洲男人的天堂试看| 在线a视频免费观看| 亚洲天堂日本| 国产尤物在线播放| 中文字幕乱妇无码AV在线| 亚洲一欧洲中文字幕在线| 国产第二十一页| 22sihu国产精品视频影视资讯| 国产精品白浆在线播放| 欧美精品不卡| 国产91蝌蚪窝| 色婷婷色丁香| 国产一区二区福利| 熟妇人妻无乱码中文字幕真矢织江 | 国产一在线| 久久亚洲AⅤ无码精品午夜麻豆| 91色在线观看| 亚洲欧美在线综合一区二区三区 | 国内精品伊人久久久久7777人| 看你懂的巨臀中文字幕一区二区| 在线色综合| 欧美日韩久久综合| 亚洲国产天堂久久九九九| 无码网站免费观看| 亚洲婷婷六月| 26uuu国产精品视频| 亚洲精品欧美日本中文字幕| 亚洲黄色成人| 人妻无码AⅤ中文字| 在线观看无码av五月花| 国产欧美精品一区aⅴ影院| 人妖无码第一页| 日韩午夜片| 国产在线自在拍91精品黑人| 欧美a√在线| 大陆精大陆国产国语精品1024| 激情国产精品一区| 亚洲综合精品第一页| 亚洲国产亚综合在线区| 欧美亚洲国产精品久久蜜芽| 亚洲国产成熟视频在线多多| 国产福利影院在线观看| 日韩欧美国产另类| 久草视频中文| 免费不卡视频| 67194亚洲无码| 欧美日韩精品一区二区视频| 98超碰在线观看| 中文字幕无码中文字幕有码在线| 麻豆国产精品一二三在线观看| 亚洲制服中文字幕一区二区| 亚洲Va中文字幕久久一区| 国产欧美日韩免费| 国产一在线观看|