• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2022-02-18 04:25:39晟,羅
      科技創(chuàng)新與應用 2022年9期
      關(guān)鍵詞:鑒權(quán)菜單管理系統(tǒng)

      楊 晟,羅 奇

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

      權(quán)限管理功能是信息管理系統(tǒng)不可或缺的重要組成部分,是保證信息系統(tǒng)安全性的前提和基礎[1-2]。權(quán)限管理可以對用戶的登錄進行驗證,對系統(tǒng)的資源訪問進行鑒權(quán),防止用戶對系統(tǒng)越權(quán)使用,保障數(shù)據(jù)在采集、存儲和傳輸過程中的安全性?;诮巧脑L問控制(Role-Base Access Control,RBAC)模型是當前比較主流的一種權(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)復雜度以及用戶種類的增加,權(quán)限管理問題也隨之變得更為復雜[7]。特別是對于包含多個業(yè)務應用的系統(tǒng),往往需要對每個業(yè)務應用都進行權(quán)限控制,因此設計一款通用的權(quán)限管理系統(tǒng)已成為信息系統(tǒng)開發(fā)中的重點需求。本文設計了一個基于RBAC的通用權(quán)限管理系統(tǒng),采用Spring Boot技術(shù)進行開發(fā),通過提供對用戶、角色以及權(quán)限信息的管理,設置它們之間的關(guān)系來控制不同用戶對資源的操作權(quán)限。同時,還可支持對多個業(yè)務應用的統(tǒng)一權(quán)限管理,業(yè)務系統(tǒng)開發(fā)完成后,只需要集成通用權(quán)限管理系統(tǒng),便能實現(xiàn)對業(yè)務系統(tǒng)的訪問控制。

      1 需求分析

      1.1 可行性分析

      1.1.1 社會可行性

      權(quán)限管理負責保護數(shù)據(jù)安全,防止其被破壞、篡改或泄露,是應用軟件正常運行的基本安全保障。權(quán)限管理的基本原理是為系統(tǒng)中的每一個操作定義好所需要的權(quán)限,并根據(jù)用戶工作內(nèi)容的需要,為用戶分配好特定的權(quán)限,以方便其對指定資源的訪問。不同等級的權(quán)限可以訪問的資源可能截然不同,當用戶在業(yè)務系統(tǒng)中訪問某個資源時,權(quán)限管理功能只需要判斷,當前用戶已分配的所有資源訪問權(quán)限中是否包含當前訪問所需要的權(quán)限。若包含,則允許用戶繼續(xù)執(zhí)行對當前資源的訪問,反之則拒絕用戶的操作要求。權(quán)限管理根據(jù)職位分工的不同為不同用戶分配不同的資源訪問權(quán)限,并通過鑒權(quán)防止用戶的越權(quán)操作,避免用戶的失誤操作或惡意訪問,保障了系統(tǒng)資源的安全性。而對于包含多個業(yè)務應用的復雜系統(tǒng),若針對每個應用設計一套權(quán)限管理功能則不僅開發(fā)過程十分繁瑣,而且會增加系統(tǒng)上線后管理的復雜度,費時費力,容易造成人力和物力資源的極大浪費。因此,設計出一款通用的權(quán)限管理系統(tǒng),讓多個業(yè)務系統(tǒng)只需集成到通用權(quán)限管理系統(tǒng),即可實現(xiàn)對業(yè)務系統(tǒng)權(quán)限功能的集中統(tǒng)一管理,便顯得尤為重要。因此,設計一款通用的權(quán)限管理系統(tǒng)已成為信息系統(tǒng)開發(fā)中的重點需求,可以有效節(jié)約多業(yè)務應用系統(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)的服務器上。以Spring Boot+MyBatis作為開發(fā)框架,采用MySQL數(shù)據(jù)庫技術(shù)來進行數(shù)據(jù)的存儲,并使用Maven來進行系統(tǒng)資源的管理和項目的構(gòu)建,采用GIT進行代碼版本控制;前端采用Bootstrap+jQuery作為開發(fā)框架,并使用AJAX技術(shù)和后端進行數(shù)據(jù)交互。以上技術(shù)都是當前成熟且主流的技術(shù),因此采用上述技術(shù)進行設計開發(fā)通用權(quán)限管理系統(tǒng)是可行的。

      1.2 功能需求分析

      權(quán)限管理功能讓不同身份的用戶,具有對系統(tǒng)資源的不同操作權(quán)限,以達到避免越權(quán)操作、提高系統(tǒng)資源安全性的目的。對于包含多個業(yè)務應用的信息系統(tǒng),其權(quán)限管理必定十分復雜。通用權(quán)限管理系統(tǒng)能夠集成到多個業(yè)務系統(tǒng)中,對業(yè)務系統(tǒng)中的權(quán)限控制進行統(tǒng)一的管理,節(jié)約開發(fā)及管理成本。系統(tǒng)總體功能有用戶信息管理、角色信息管理、權(quán)限信息管理、組織機構(gòu)管理、應用系統(tǒng)管理和菜單信息管理6個部分。并且,權(quán)限管理系統(tǒ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è)務系統(tǒng)的所有訪問都需要請求權(quán)限管理系統(tǒng)進行鑒權(quán),當用戶訪問業(yè)務系統(tǒng)時,不僅要等待業(yè)務系統(tǒng)的響應,中間還要等待權(quán)限管理系統(tǒng)的鑒權(quán)響應。為了不讓用戶在操作時等待過長時間,必須提高權(quán)限管理系統(tǒng)的響應速度,鑒權(quán)響應時間不能超過1 s。

      1.3.3 可擴展性

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

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

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

      2.1.1 用戶信息管理模塊設計

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

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

      為了使系統(tǒng)適應不同規(guī)模的管理需要,保障系統(tǒng)在規(guī)模龐大、組織機構(gòu)復雜的單位中順利運行。系統(tǒng)在RBAC的基礎上,還添加了對組織機構(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 角色信息管理模塊設計

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

      2.1.4 應用信息管理模塊設計

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

      2.1.5 菜單信息管理模塊設計

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

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

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

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

      2.2.1 用戶登錄過程設計

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

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

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

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

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

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

      猜你喜歡
      鑒權(quán)菜單管理系統(tǒng)
      基于James的院內(nèi)郵件管理系統(tǒng)的實現(xiàn)
      中國新年菜單
      基于LED聯(lián)動顯示的違停管理系統(tǒng)
      海盾壓載水管理系統(tǒng)
      中國船檢(2017年3期)2017-05-18 11:33:08
      本月菜單
      美食堂(2017年1期)2017-01-13 01:37:42
      移動網(wǎng)絡用戶頻繁鑒權(quán)問題的優(yōu)化方案探討
      移動通信(2015年2期)2015-04-13 04:14:26
      基于小型核心網(wǎng)的LTE鑒權(quán)的一種新實現(xiàn)
      基于RFID的倉儲管理系統(tǒng)實現(xiàn)
      一個“公海龜”的求偶菜單
      鴨綠江(2013年10期)2013-03-11 19:41:55
      電信增值業(yè)務運營中的認證鑒權(quán)控制方案研究
      天长市| 长乐市| 繁峙县| 独山县| 彭阳县| 辽宁省| 绍兴县| 航空| 苗栗市| 津市市| 理塘县| 穆棱市| 图片| 高州市| 高密市| 滦南县| 甘泉县| 辽中县| 偏关县| 广宗县| 双峰县| 克什克腾旗| 保定市| 富顺县| 麟游县| 台北县| 涿鹿县| 乡城县| 延长县| 永兴县| 济源市| 竹山县| 泸州市| 惠安县| 晋州市| 招远市| 北碚区| 普格县| 九寨沟县| 日喀则市| 尚志市|