基于shiro的權限管理系統(tǒng)設計和實現(xiàn)_第1頁
基于shiro的權限管理系統(tǒng)設計和實現(xiàn)_第2頁
基于shiro的權限管理系統(tǒng)設計和實現(xiàn)_第3頁
基于shiro的權限管理系統(tǒng)設計和實現(xiàn)_第4頁
基于shiro的權限管理系統(tǒng)設計和實現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

濟南大學畢業(yè)設計PAGEII摘要隨著經(jīng)濟社會的發(fā)展和信息科學技術的不斷進步,信息的處理量越來越大,也越來越繁雜,于是計算機技術被廣泛的應用到社會的各個領域之中。但隨著最近一些比較嚴重的信息系統(tǒng)泄密事件的發(fā)生,使用者意識到了信息系統(tǒng)安全的重要性,如何保護信息的安全成為使用者最關心的問題。這里我們從系統(tǒng)設計實現(xiàn)的角度進行處理,在用戶對系統(tǒng)數(shù)據(jù)進行訪問前,先通過基于RBAC的權限管理系統(tǒng)的驗證,確定用戶擁有的角色,根據(jù)用戶角色的權限再向用戶展示數(shù)據(jù)信息,從而實現(xiàn)保護系統(tǒng)信息的目的。該系統(tǒng)依托現(xiàn)在流行的JSP語言,通過MySQL數(shù)據(jù)庫的數(shù)據(jù)處理,開發(fā)出通用權限管理系統(tǒng)來對用戶身份權限信息進行驗證。這套系統(tǒng)具有權限分配簡單、擴展性好的優(yōu)點,并且支持崗位、權限多變的各種需求。作為信息系統(tǒng)的附屬系統(tǒng),該系統(tǒng)很好的實現(xiàn)了用戶與頁面功能數(shù)據(jù)的整合和分離,還增添了信息管理等附帶功能。實踐證明,基于RBAC的權限管理系統(tǒng)是最方便和快捷的安全管理控制方法。關鍵詞:網(wǎng)絡信息安全;RBAC;權限管理系統(tǒng);角色

ABSTRACTAsthedevelopmentofthesocialeconomyandthetechnologyandscience,theinformationneededtotreatisbiggerandbigger,andbecomeincreasinglycomplex,socomputertechnologyiswidelyappliedtoeveryfieldofsociety.Butalongwithsomeseriousinformationsystemleakseventshappenedoneafteranother,peoplehaverealizedtheimportanceofnetworksecurity,thushowtoprotectinformationsecuritydatafromviolationhasbecomethatuserscaremostabout.Here,adetailedanalysisofthedesignfromtheviewpointofthesystem'srealizationisgiven,usersfirstmustlogintoaccesstheprivilegemanagementsystem,foreachusergrouponeormoreusersareselectedandtheirrolesandauthoritysareidentified,andthentheycanviewtheclientlistanddetailsabouteachclient,soastoachievethegoalofprotectionsysteminformation.TheauthoritymanagementsystemisbasedonfashionableJSPlanguageandMySQLdatabasetechnologytoauthenticateuseridentityauthorizationinformation.Authorityadministrativesystemthatadoptsthismethodhasstrongercommonnessandpracticability,whichcanmeetdemandofauthoritymanagementingeneralapplicationsystem.Asthesubsidiarysystemofinformationsystem,thesystemisgoodenoughtoachievetheintegrationandseparationbetweentheuserandthefunction.PracticesshowthatanauthoritymanagementsystembasedonRBACisthemostconvenientandefficientsafetymanagementcontrol.Keywords:Networkinformationsecurity;Role-BasedAccessControl;Authoritymanagementsystem;Role目錄摘要 IABSTRACT II1前言 -1-1.1項目背景 -1-1.2目的及意義 -1-1.3B/S開發(fā)模式的優(yōu)點 -2-2需求分析 -3-2.1系統(tǒng)概述 -3-2.2系統(tǒng)功能需求分析 -3-2.2.1用戶管理 -3-2.2.2角色管理 -4-2.2.3功能管理 -4-2.3UML建模 -4-2.3.1管理員用戶的用例關系圖 -4-2.3.2一般用戶的用例關系圖 -5-2.4系統(tǒng)性能分析 -6-2.4.1安全性需求分析 -6-2.4.2穩(wěn)定性需求分析 -7-3概要設計 -8-3.1總體設計 -8-3.2.1模塊劃分 -8-3.2.2模塊設計 -9-3.3 模塊設計 -11-3.3.1權限管理模塊 -11-3.3.2用戶密碼修改模塊 -13-3.3.3用戶賬戶管理模塊 -14-3.4數(shù)據(jù)結構設計 -16-3.4.1用戶信息表 -16-3.4.2角色信息表 -17-3.4.3功能菜單表 -17-3.4.4角色菜單表 -17-4設計與實現(xiàn) -18-4.1軟件架構 -18-4.2系統(tǒng)架構 -18-4.3訪問控制設計 -19-5系統(tǒng)測試 -20-5.1測試目的 -20-5.2測試內容 -20-5.2.1功能測試 -20-5.2.2性能測試 -20-5.3 測試用例 -20-5.4測試結果分析 -24-6總結與展望 -25-結論 -26-參考文獻 -27-致謝 -2929-1前言隨著計算機和網(wǎng)絡信息技術的高速發(fā)展,網(wǎng)絡信息的安全成為越來越大的問題,而訪問控制技術是實現(xiàn)系統(tǒng)信息安全的重要手段。隨著現(xiàn)在系統(tǒng)普遍面向用戶數(shù)大,處理數(shù)據(jù)量大,功能日益復雜的現(xiàn)狀,如果還繼續(xù)使用ABAC的訪問控制模式將會使權限管理的實現(xiàn)變的相當繁瑣和復雜。于是人們設計了多種用來控制用戶權限的系統(tǒng)模型,來確保敏感的數(shù)據(jù)信息只有擁有相應權限的人才可能看得到。通過實踐,基于角色的權限控制(Role—BasedAccessControl,RBAC)模型由于其簡單方便易于維護的特點得到了越來越廣泛的認同,被廣泛應用在各種網(wǎng)絡信息系統(tǒng)和大型MIS系統(tǒng)中。1.1項目背景在20世紀90年代發(fā)展并日臻完善的基于角色的訪問控制(RBAC,Role-BasedAccessControl)是一種管理和增強系統(tǒng)安全性的技術。這種訪問控制通過引入“角色”這一中介量,從而實現(xiàn)了用戶和訪問許可的邏輯分離,極大地方便了權限管理。JSP技術是現(xiàn)在流行的網(wǎng)絡系統(tǒng)開發(fā)技術,因其具有跨平臺的適應能力而被眾多設計者所采用。當Web服務器接收到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行網(wǎng)頁的程序段,然后將執(zhí)行結果返回給客戶。Java程序段可以對數(shù)據(jù)庫數(shù)據(jù)進行操作,也可以返回或者前進到另外一個界面。JSP與JavaServlet相似,所有數(shù)據(jù)處理均在服務器端進行,用戶只需要用瀏覽器接收服務器反饋的信息即可。JSP技術的基礎是JavaServlet,應用程序的開發(fā)需要同時擁有JavaServlet和JSP。JSP繼承了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠的所有特點。JSP可用等式表示為:HTML+Java=JSP。1.2目的及意義隨著信息網(wǎng)絡技術的在社會各個領域的廣泛應用,如何防止敏感數(shù)據(jù)信息的泄露成為系統(tǒng)使用者最關心的問題。同時,為了保證系統(tǒng)的安全穩(wěn)定的運行,使員工只能對自己擁有權限的數(shù)據(jù)進行操作和處理,其他的都不能查看以及操作,就需要在系統(tǒng)中根據(jù)每個人的職能為其分配相應的權限。基于RABC的權限管理平臺因其簡單、方便快捷的權限處理機制,很好的解決了數(shù)據(jù)泄密以及功能權限的問題。通過建立權限管理系統(tǒng),可以保證每個員工只能根據(jù)自己的本職工作對系統(tǒng)數(shù)據(jù)進行限制性操作,防止信息泄露篡改問題的發(fā)生,為使系統(tǒng)更好的方便日常工作提供有效的安全保障。同時因為有了授權機制,也可以防范無關人員對服務器進行非法操作,保證系統(tǒng)安全穩(wěn)定的運行。針對基于RABC的權限管理系統(tǒng)的設計理念,我從實際需求和能力出發(fā),設計并實現(xiàn)了這個權限管理系統(tǒng),它具有自適應性強、通用性好的特點,可以很好的減少權限管理系統(tǒng)的維護工作,提高權限管理系統(tǒng)的通用性,并且能夠避免權限管理系統(tǒng)的重復開發(fā)問題。系統(tǒng)著重關注了用戶與訪問許可實現(xiàn)邏輯分離的過程,可以作為大家認識了解和學習RBAC技術的一個范例。1.3B/S開發(fā)模式的優(yōu)點B/S結構就是只安裝維護服務器,將系統(tǒng)布置到服務器中,客戶端采用瀏覽器來運行軟件,即瀏覽器/服務器結構。相對于C/S結構,B/S有很明顯優(yōu)點和長處。(1)維護工作量大大減少。如果系統(tǒng)需要進行維護,B/S結構只需要維護部署在服務器上的程序即可,而C/S結構系統(tǒng)維護時,除需要維護服務器上的程序外,還需要額外升級客戶端程序。(2)B/S結構開發(fā)的程序具有很強的適應性。B/S結構實行的是3層數(shù)據(jù)處理,用戶只是通過瀏覽器接受經(jīng)過服務器計算完成之后的數(shù)據(jù),及時用戶電腦配置很低也能勝任。但是C/S結構實行的是2層數(shù)據(jù)處理,數(shù)據(jù)還需要到用戶客戶端進行計算處理,這增加了客戶端的軟硬件負擔。(3)B/S結構開發(fā)的系統(tǒng)數(shù)據(jù)一致性好。B/S結構系統(tǒng)數(shù)據(jù)實行集中存在,不同用戶查看統(tǒng)一信息是完全一致的。C/S結構系統(tǒng)由于數(shù)據(jù)存放與客戶端中,數(shù)據(jù)會有一定的不一致現(xiàn)象出現(xiàn)。(4)B/S結構系統(tǒng)數(shù)據(jù)具有很好的實時性。C/S結構系統(tǒng)看到的數(shù)據(jù)都是客戶端上傳到服務器的數(shù)據(jù),B/S系統(tǒng)因為其數(shù)據(jù)就在服務器中,所以B/S系統(tǒng)看到的都是系統(tǒng)的實時數(shù)據(jù),能為決策者提供實時準確的參考。(5)B/S結構系統(tǒng)具有很好的數(shù)據(jù)安全性。C/S結構軟件由于其數(shù)據(jù)分布的特性,因客戶端本身或者外部環(huán)境而發(fā)生的數(shù)據(jù)損毀時常發(fā)生,使之保證數(shù)據(jù)安全的性能大大降低。而B/S結構的系統(tǒng)由于其數(shù)據(jù)直接存放于服務器中,不存在與客戶端進行數(shù)據(jù)交換的行為,從而會極大的提高數(shù)據(jù)的安全性。

2需求分析2.1系統(tǒng)概述隨著計算機和網(wǎng)絡信息技術不斷發(fā)展,網(wǎng)絡信息技術在各個領域的成功的應用結果讓單位信息化的需求越來越強,使得單位越來越注重自己的信息化建設,網(wǎng)絡辦公及單位內部的信息處理已經(jīng)成為眾多單位尤其是網(wǎng)絡公司的工作模式。在單位進行信息化建設過程中,單位的敏感信息安全成為了其中的一個重要問題,因此,信息系統(tǒng)的安全成為單位信息化過程中所要處理解決的首要問題之一。權限管理系統(tǒng)的設計目的在于利用計算機編程技術,構建一個依附于信息系統(tǒng)的安全可靠的權限管理平臺,保證單位敏感信息的不被不適宜的人獲取、篡改以及刪除,保護數(shù)據(jù)的保密性、一致性、完整性。該系統(tǒng)應有如下幾大功能模塊:用戶信息管理,角色信息管理,功能基本信息管理,角色分配管理和權限分配管理。系統(tǒng)首先建立管理員用戶和一般用戶信息,通過對用戶進行角色分配,再通過對角色進行權限的分配,來實現(xiàn)系統(tǒng)對用戶的權限控制?,F(xiàn)在多數(shù)單位的信息管理系統(tǒng)的安全授權比較復雜,包含眾多的業(yè)務實體和事物處理應用,每個部門中同一職位的員工因職能范圍或地域的不同而具有的權限也不盡相同,有時甚至對同一個用戶,或許由于在不同的業(yè)務中,也會有不同的權限,這種現(xiàn)象反映在信息系統(tǒng)中就是個體的權限和具體資源的對應關系,為了使得權限系統(tǒng)更加靈活、便捷,本設計采用RBAC授權模型,可以用來有效減輕系統(tǒng)權限的管理難度和操作的復雜度。根據(jù)信息系統(tǒng)的需要,權限系統(tǒng)中設置了超級管理員,通過超級管理員來進入權限管理系統(tǒng),對其余的普通的用戶進行賦權。2.2系統(tǒng)功能需求分析基于一般信息系統(tǒng)對權限管理的要求,我們采用了基于角色的訪問控制模型進行設計。系統(tǒng)按照RBAC模型可為功能管理、角色管理、用戶管理等三大模塊。2.2.1用戶管理用戶信息是權限系統(tǒng)的基礎信息,是系統(tǒng)控制的主體資源,用戶直接關聯(lián)角色信息,如果沒有用戶或者角色信息,系統(tǒng)就會拒絕用戶的登錄及其對系統(tǒng)信息的訪問操作,用戶的信息管理是權限系統(tǒng)首先要處理的問題。用戶管理的需滿足如下需求:(1)可以添加新的用戶;(2)能查看所有用戶信息;(3)刪除已有用戶信息;(4)查看用戶所具有的角色及權限;(5)修改用戶信息;(6)對用戶賦予相應角色。2.2.2角色管理角色管理是RBAC系統(tǒng)中的重要一部分,它是用戶的和權限之間的紐帶,一個角色會有多個用戶,角色對應一定的功能權限菜單,即具體的權限。當用戶擁有正確的角色,并且角色設置了正確的權限,用戶才能對系統(tǒng)進行訪問和操作。用戶角色管理的需求描述如下:(1)可以查看系統(tǒng)中擁有的所有角色信息;(2)可查看具體某一角色的名稱、描述以及角色權限;(3)可修改、刪除角色信息;(4)可修改角色的權限分配。2.2.3功能管理該模塊里是設置并定義權限管理系統(tǒng)所管理系統(tǒng)的菜單信息(即功能權限信息),將系統(tǒng)的功能菜單路徑信息輸入到權限系統(tǒng)中,通過對角色賦予功能菜單的權限實現(xiàn)用戶權限管理的目的。2.3UML建模在權限管理系統(tǒng)中用戶有兩類:一種是管理員用戶,另一種就是一般用戶。由于本權限管理系統(tǒng)設計簡單,這時里只給用戶功能用例圖。2.3.1管理員用戶的用例關系圖權限系統(tǒng)管理員用戶是權限系統(tǒng)中擁有最高權限的用戶,它的主要的操作就是對系統(tǒng)中的用戶信息、角色信息及功能信息進行管理,管理員用戶一般不會參與到信息系統(tǒng)的具體業(yè)務中,它是一個只對應權限系統(tǒng)的特殊用戶。權限系統(tǒng)管理員具體的操作權限有:增加用戶、查詢用戶、刪除用戶、為用戶授予角色、刪除用戶角色、查看用戶角色、查看用戶權限、增加角色、刪除角色、查看角色、給角色授予權限和查看角色權限等功能。管理員對一般用戶進行了相應的權限設置,一般用戶才能登錄到信息系統(tǒng)中進行數(shù)據(jù)的查看和處理。圖2.1管理員用戶的用例關系圖2.3.2一般用戶的用例關系圖一般用戶的權限比較管理員要小的多,最主要的一般是角色的不同,管理員擁有系統(tǒng)管理角色,一般用戶往往是其他的角色,具體權限需要管理對其進行設定。在本系統(tǒng)中設定只有超級管理員用戶可以登錄權限系統(tǒng),一般用戶會提示沒有權限。假設一般用戶能登錄權限系統(tǒng),那么其在權限管理系統(tǒng)中的權限一般只能查看其自己的一些用戶信息,角色信息,已經(jīng)權限信息等,不能操作更改信息。圖2.2一般用戶的用例關系圖2.4系統(tǒng)性能分析2.4.1安全性需求分析構建一個成功的權限管理系統(tǒng)首先應該了解需要控制的系統(tǒng)的所有功能菜單信息,只有完整并且準確的獲取到菜單功能信息,才能對角色賦予相應的權限,才能使權限系統(tǒng)與信息系統(tǒng)科學合理的進行匹配。(1)權限系統(tǒng)控制要點權限系統(tǒng)控制要點有:信息資源、用戶、單位的機構設置、具體崗位、業(yè)務角色、具體任務、業(yè)務流程以及業(yè)務規(guī)則等。(2)訪問控制的特點在信息系統(tǒng)中,訪問控制系統(tǒng)要具有很好的適應性以滿足動態(tài)的或者特定用戶的安全需求。因此我們需要深入了解并分析系統(tǒng)訪問控制的特點。1)用戶特點信息系統(tǒng)的使用戶數(shù)量繁雜,用戶工作崗位變化也很頻繁,如調進、調出、新進、辭職等。同時若新業(yè)務的增加也會使得用戶的工作內容頻繁變化。用戶的不確定性是單位規(guī)模增大和業(yè)務增加的必然結果。2)信息資源特點現(xiàn)在系統(tǒng)普遍面臨系統(tǒng)數(shù)據(jù)量大的特點,如何正確分類整理并確定其信息安全等級成為設計者必須要考慮的問題。3)單位的機構設置特點現(xiàn)在各個單位的機構設置都不盡相同,而且類型復雜,各個單位的機構設置都有其自己的特點、大型單位還存在地域上分布式的特點。5)任務特點單位環(huán)境中,具體任務的數(shù)量多并且種類復雜,因此,為了滿足單位對訪問控制的安全性需求,一般采用擴展性好、靈活性高的RBAC訪問控制模型。根據(jù)具體任務涉及到的系統(tǒng)菜單等信息,需要對用戶角色進行及時的賦權更新操作。2.4.2穩(wěn)定性需求分析軟件系統(tǒng)的穩(wěn)定性是決定軟件系統(tǒng)好壞的一個重要因素。一套系統(tǒng)在持續(xù)操作時間內出錯的概率就是指軟件的穩(wěn)定性,例如統(tǒng)計一天之內系統(tǒng)出錯的次數(shù)。軟件的穩(wěn)定性需要從設計角度出發(fā),依靠經(jīng)驗豐富的開發(fā)人員,通過合理劃分系統(tǒng)模塊,科學設計每個模塊之間的關系,使用穩(wěn)定的系統(tǒng)框架,來使系統(tǒng)即使更改部分代碼,其對軟件系統(tǒng)的影響也會將到最低。如果一個系統(tǒng)報錯的概率比較大(一天內出錯兩次或更多次),或者需要重啟(一天內出錯兩次或更多次)才能正常運行,這就表明系統(tǒng)的穩(wěn)定比較差。不穩(wěn)定的系統(tǒng)會給使用單位帶來巨大的麻煩,如系統(tǒng)數(shù)據(jù)不及時、不準確、系統(tǒng)經(jīng)常癱瘓、業(yè)務無法正常運作等問題。導致系統(tǒng)穩(wěn)定性差的原因主要是系統(tǒng)的并發(fā)數(shù)太多或者系統(tǒng)容錯能力差。本權限管理系統(tǒng)由于使用者大多只是管理員,并發(fā)數(shù)應該不會太多,主要精力還是放在提高系統(tǒng)的容錯能力上。

3概要設計3.1總體設計通過超級管理員用戶登錄系統(tǒng)后,會進入系統(tǒng)主頁面,頁面上主要的功能有:功能管理,角色管理,用戶管理,系統(tǒng)屬性,信息管理模塊。功能管理主要是對信息系統(tǒng)的功能菜單信息進行維護,包括“添加,刪除,修改”操作。角色管理主要對用戶的角色信息進行維護,包括“添加,查看,刪除,修改,權限分配”操作。用戶管理主要用管理信息系統(tǒng)用戶的信息,包括“添加,查看,修改,刪除”操作。系統(tǒng)屬性主要用于顯示當前系統(tǒng)的一些信息。用戶管理是本論文重點,這里所說的用戶管理就是權限管理。在權限管理中,包括信息管理設置了一些額外的信息顯示功能。在這系統(tǒng)功能中,用戶管理師最主要的功能。用戶信息的增加,刪除,修改,以及具體用戶角色的分配,具體權限的查看都可以在此進行操作和查看。此時,管理員可以對其進行權限的修改。3.2.1模塊劃分進入系統(tǒng)主頁面,系統(tǒng)主要的功能有:功能管理,角色管理,用戶管理,以及權限分配管理。如圖所示:圖STYLEREF1\s0.SEQ圖表\*ARABIC\s11模塊劃分3.2.2模塊設計用戶管理在系統(tǒng)首頁,用戶輸入用戶名密碼后,由JSP控制器接收,然后和后臺數(shù)據(jù)庫中的用戶數(shù)據(jù)進行比較,驗證成功則進入操作主頁面。在權限管理主界面如果管理員用戶需要對某個用戶進行操作,需要首先對數(shù)據(jù)庫中的用戶信息進行搜索,然后再對檢索出的用戶數(shù)據(jù)進行修改或者刪除。在用戶管理界面上管理員用戶可以直接進行添加用戶賬戶操作。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s12賬戶管理時序圖權限管理權限管理存在于角色管理模塊下,根據(jù)用戶關聯(lián)角色,角色關聯(lián)具體權限的設計思路,因此用戶點擊角色管理進入角色管理模塊進行操作。權限管理過程簡述為:根據(jù)獲取的用戶信息,首先檢索用戶的角色信息,在根據(jù)檢索出的角色信息,控制器通過查詢數(shù)據(jù)庫后返回所選用戶的所有權限信息。這時管理員就可以查看的用戶權限信息,同時也可以對該用戶的權限信息進行重新設置。拓展:權限組管理?,F(xiàn)在權限管理系統(tǒng)很多設計到了權限組的概念,主要是對用戶、角色的進一步整合??稍O計為用戶點擊權限組管理進入權限組管理模塊,系統(tǒng)會顯示所有權限組,用戶可以對所選權限組進行修改和刪除操作,也可以增加權限組。本系統(tǒng)中沒有涉及到權限組的設計。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s13權限管理時序圖重置及修改密碼重置密碼,用戶進入重置密碼頁面,輸入要重置密碼的用戶賬號后,點擊確認,控制器就會用初始密碼替換掉數(shù)據(jù)庫中的當前密碼,最后會在頁面中顯示初始密碼。修改密碼,用戶進入用戶信息修改頁面,輸入新密碼后,點擊提交,控制器就會對數(shù)據(jù)庫進行操作,將當前密碼替換成新密碼。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s14密碼管理時序圖模塊設計3.3.1權限管理模塊權限管理業(yè)務邏輯類設計RightModifyBusiness類是權限修改業(yè)務邏輯類,主要是針對權限修改控制器發(fā)出修改權限消息,然后權限修改邏輯類相應,并通過JDBC修改數(shù)據(jù)庫信息。他們之間通過Session傳遞消息,消息的內容存放在Form里,通過UserForm類接收和存儲消息。UserForm是ActionForm子類,同時把String類作為自己的私有屬性,主要是用于存儲各種信息。JvDBO是JDBC連接的主要類,主要用于數(shù)據(jù)庫的連接操作,同時將連接的Connection返回,供RightModifyBusiness使用。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s15權限修改類圖權限管理控制器類設計圖STYLEREF1\s0.SEQ圖表\*ARABIC\s16權限顯示類圖權限管理控制器類,用于接收網(wǎng)頁(JSP)傳來的消息,然后通過調用業(yè)務邏輯類進行數(shù)據(jù)處理,然后根據(jù)處理后的情況跳轉的不同的頁面。這樣可以實現(xiàn)復雜的業(yè)務邏輯??刂破黝愂茿ction的子類,其可以接收網(wǎng)頁(JSP)傳來的Form表單的數(shù)據(jù),同時利用Session進行保存和消息的傳遞。其依賴的類包括UserForm(進行數(shù)據(jù)的存儲和傳遞),JvUser(權限操作對象),ActionMapping(主要用于頁面的跳轉)。在JvDBO類中還把Logger日志類作為自己的私有屬性,所以在進行數(shù)據(jù)操作時,系統(tǒng)會記錄相關的操作信息,方便管理員進行維護。3.3.2用戶密碼修改模塊用戶密碼修改業(yè)務邏輯類設計密碼操作管理模塊涉及密碼的修改,重置。這里只針對密碼修改模塊進行介紹。密碼重置的原理和密碼修改的原理大同小異,都是對數(shù)據(jù)庫進行相關的操作。PasswordModifyBusiness密碼修改業(yè)務邏輯主要是為密碼修改控制器模塊服務的。當密碼修改業(yè)務邏輯收到控制器類的消息時,當然傳遞消息的渠道還是Session,載體依然是ActionForm。此時,業(yè)務邏輯類會提取Session中的數(shù)據(jù)跟據(jù)控制器的指令進行相關的數(shù)據(jù)庫操作。在數(shù)據(jù)庫操作之前,業(yè)務邏輯會進行數(shù)據(jù)庫的連接和認證。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s17密碼修改業(yè)務邏輯圖用戶密碼修改控制器類設計密碼修改控制器類,是JSP網(wǎng)頁編程中MVC模塊中的control,模塊,即控制器模塊,主要功能是通過頁面?zhèn)魉偷南⒑椭噶?,通過復雜的后臺業(yè)務邏輯處理,然后根據(jù)處理后的結果,進行相關的頁面跳轉。所以不同的結果會跳轉的同一個頁面或者不同的頁面,這個完全取決于系統(tǒng)的設定。密碼修改控制器收到網(wǎng)頁表單里德數(shù)據(jù)后,會把數(shù)據(jù)存儲在PasswordForm類中,然后通過Session類把數(shù)據(jù)傳送給業(yè)務邏輯類進行相關的業(yè)務處理,并接收業(yè)務邏輯類處理后的結果,根據(jù)結果進行頁面跳轉操作。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s18密碼修改控制器類圖3.3.3用戶賬戶管理模塊用戶賬戶管理Bean類設計用戶bean把用戶的數(shù)據(jù)變量聲明為私有屬性,通過界面的set和get函數(shù)獲取,然后提交到actionform表單中,再通過后臺數(shù)據(jù)庫進行匹配或者處理操作。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s19用戶Bean類圖用戶賬戶管理Form類設計ActionForm用于封裝用戶的請求參數(shù),而請求參數(shù)是通過JSP頁面的表單域傳遞過來的??梢园袴orm理解為JavaBean的一種形式,F(xiàn)orm主要是當用戶把網(wǎng)頁里德表單填好后,點擊提交按鈕,然后網(wǎng)頁會把表單里的數(shù)據(jù)通過Session或Url傳送給后臺,此時后臺會利用ActionForm類進行數(shù)據(jù)的接收操作。此時ActionForm類的任務就完成了。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s110用戶賬戶管理Form類圖用戶賬戶管理業(yè)務邏輯類設計用戶賬戶管理模塊,包括用戶賬戶的增加,修改,刪除,和現(xiàn)實模塊,這里僅以用戶賬戶刪除模塊進行介紹。其他的模塊類結構和本模塊結構相同,只是操作上存在差異。用戶刪除業(yè)務邏輯類把日志類Logger加入到了自己的私有屬性之中,主要是用于記錄管理員在對用戶賬戶進行的一系列操作。方便日后的維護和系統(tǒng)的安全。用戶賬戶操作,依賴于用戶類JvUser和用戶表單類UserForm。其在接收到用戶賬戶控制器類傳來的消息后,會調用JvDBO類進行JDBC連接和數(shù)據(jù)庫操作。實現(xiàn)JSP后臺的復雜業(yè)務邏輯。圖STYLEREF1\s0.SEQ圖表\*ARABIC\s111用戶賬戶刪除業(yè)務邏輯類圖3.4數(shù)據(jù)結構設計權限系統(tǒng)所涉及的數(shù)據(jù)庫表有如下幾張:表3.1數(shù)據(jù)庫表名清單中文表名英文表名表功能說明用戶信息表s_userinfo記錄用戶相關信息系統(tǒng)功能表s_menu記錄系統(tǒng)功能信息角色信息表s_role記錄角色信息權限信息表s_rolemenu記錄角色權限信息3.4.1用戶信息表表3.2用戶信息表序號字段名字段中文名數(shù)據(jù)類型備注1uid用戶idint2username用戶姓名varchar(15)3userpwd用戶密碼varchar(50)4unickname用戶昵稱varchar(20)5uage用戶年齡int6usex用戶性別varchar(2)7uemail用戶郵箱varchar(50)8umobile用戶手機號碼varchar(20)9uaddress用戶地址varchar(100)10roleid用戶角色idint11ucreatedate創(chuàng)建時間datetime12ulogintime登錄時間datetime3.4.2角色信息表表3.3角色信息表序號字段名字段中文名數(shù)據(jù)類型備注1roleid角色idint2rolename角色名稱varchar(20)3roledesc角色描述varchar(100)3.4.3功能菜單表表3.4功能菜單表序號字段名字段中文名數(shù)據(jù)類型備注1menuid菜單idint2menuname菜單名稱varchar(20)3menufatherid父節(jié)點int4menuurl功能路徑varchar(150)5menusortno排序號int3.4.4角色菜單表表3.5角色菜單表序號字段名字段中文名數(shù)據(jù)類型備注1roleid角色idint2menuid菜單idint

4設計與實現(xiàn)4.1軟件架構B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。B/S結構系統(tǒng)由于對客戶端硬件性能的地要求而被眾多系統(tǒng)所使用,本系統(tǒng)也采用了這一構架,在電腦上配置了tomcat6.0、JDK和MySQL數(shù)據(jù)庫,搭建起服務平臺,使用者可使用IE瀏覽器訪問系統(tǒng)地址獲取系統(tǒng)數(shù)據(jù),無需系統(tǒng)客戶端。B/S系統(tǒng)網(wǎng)絡結構圖圖4.1系統(tǒng)網(wǎng)絡結構圖4.2系統(tǒng)架構想進入本權限管理系統(tǒng),首先需要在系統(tǒng)首頁界面中輸入正確的管理員用戶和密碼,經(jīng)過與后臺數(shù)據(jù)庫中的數(shù)據(jù)進行對比,如果驗證通過,則進入到系統(tǒng)操作界面。本系統(tǒng)界面的主要功能有基本操作、信息管理和系統(tǒng)管理三大主要功能。基本操作里只是顯示了系統(tǒng)部署環(huán)境的一些信息。信息管理師這個系統(tǒng)拓展的一個功能部分,在這里可以展示進入系統(tǒng)的管理員可能需要了解的信息,例如系統(tǒng)公告、重要社會新聞信息等。系統(tǒng)管理是本系統(tǒng)的核心功能區(qū),里面分為功能管理、角色管理和用戶管理三部分。功能管理里需要定義信息系統(tǒng)的各項功能路徑、功能信息。角色管理主要定義的是用戶關聯(lián)到的角色信息,以及具體角色關聯(lián)的功能路徑(即角色關聯(lián)的具體權限信息)。用戶管理主要定義了用戶的基本信息,以及用戶關聯(lián)的角色信息,也可以直接查詢到該用戶的權限。圖4.2系統(tǒng)構架圖4.3訪問控制設計訪問控制是通過Servlet和JSP語言,將數(shù)據(jù)庫中的user信息表關聯(lián)到role角色信息表,而在角色信息表又與功能表關聯(lián),形成RABC的訪問控制模式,從而實現(xiàn)用戶權限的管理功能。

5系統(tǒng)測試5.1測試目的通過測試系統(tǒng)的主要功能,來使系統(tǒng)最大限度的滿足用戶的需求,及時發(fā)現(xiàn)系統(tǒng)中存在的bug問題缺陷以便進行修改,驗證系統(tǒng)的穩(wěn)定性。5.2測試內容5.2.1功能測試(1)系統(tǒng)登錄。驗證管理員用戶和非管理員用戶登錄系統(tǒng)的差異,驗證賬號密碼的匹配是否正確。(2)功能管理。驗證功能管理能否正常的添加、刪除、修改功能信息。(3)角色管理。驗證角色管理能否正常的添加、刪除、查看、修改角色信息,以及能否正常的給角色分配權限。(4)用戶管理。驗證用戶信息能否正常的進行添加、刪除、修改、查看操作。在修改界面中,修改位置的信息是否正常顯示和是否能正常修改。5.2.2性能測試測試測試主要測試系統(tǒng)的響應時間,界面數(shù)據(jù)的變更與數(shù)據(jù)庫信息的變更是否一致。測試多個用戶同時對系統(tǒng)并發(fā)操作時系統(tǒng)的性能。測試用例測試系統(tǒng)用戶登錄表5.1登錄測試案例1用例編號Test01測試目的測試登錄失敗時能否返回相應錯誤信息測試步驟輸入不存在或者錯誤的用戶名及密碼期望結果返回錯誤信息“用戶名或密碼出錯!”,并返回重新輸入實際結果返回錯誤信息“用戶名或密碼出錯!”,并返回表5.2登錄測試案例2用例編號Test02測試目的測試登錄成功系統(tǒng)進入主界面測試步驟1.輸入正確的用戶名2.輸入正確的密碼,點擊登錄按鈕期望結果系統(tǒng)進入主界面實際結果系統(tǒng)進入主界面(2)測試功能管理。點擊功能管理能否正常跳轉到功能管理界面。在功能管理界面,能否在操作工具欄中進行修改刪除操作。點擊修改是否能跳轉到修改界面中。修改后的內容能否保存到數(shù)據(jù)庫中,是否有效。點擊刪除是否有確認提示,刪除操作是否有效。表5.3功能測試案例1用例編號Test03測試目的測試功能管理界面是否正常顯示測試步驟點擊功能管理界面期望結果正常跳轉到功能管理界面實際結果正常跳轉到功能管理界面表5.4功能測試案例2用例編號Test04測試目的測試功能管理界面的修改功能是否正常跳轉測試步驟點擊功能管理界面中的修改按鈕期望結果正常跳轉到功能修改界面實際結果正常跳轉到功能修改界面表5.5功能測試案例3用例編號Test05測試目的測試功能修改內容是否提交成功測試步驟1.修改功能名稱2.父節(jié)點標志3.修改功能url4.修改排序號5.點擊提交按鈕期望結果正常跳轉到數(shù)據(jù)操作成功界面,并跳轉到功能管理界面實際結果正常跳轉到數(shù)據(jù)操作成功界面,并跳轉到功能管理界面表5.6功能測試案例4用例編號Test06測試目的測試功能修改內容能否正常重置成功測試步驟1.修改功能名稱2.父節(jié)點標志3.修改功能url4.修改排序號5.點擊重置按鈕期望結果清除修改操作,顯示默認值實際結果清除修改操作,顯示默認值表5.7功能測試案例5用例編號Test07測試目的測試功能管理界面的刪除功能是否正常跳轉測試步驟選中功能管理界面中的一個功能刪除按鈕期望結果正常彈出確認界面,點擊確認后功能刪除,點擊取消操作取消實際結果正常彈出確認界面,點擊確認后功能刪除,點擊取消操作取消測試角色管理。表5.8角色測試案例1用例編號Test08測試目的測試角色管理界面的查看功能是否正常跳轉測試步驟選中角色管理界面中的一個角色的查看按鈕期望結果正常跳轉到用戶查看界面,點擊返回按鈕后正常返回到角色管理界面實際結果正常跳轉到用戶查看界面,點擊返回按鈕后正常返回到角色管理界面表5.9角色測試案例2用例編號Test09測試目的測試角色管理界面的修改功能是否正常跳轉及進行修改提交操作測試步驟選中角色管理界面中的一個角色的修改按鈕修改角色名稱修改角色描述點擊提交期望結果正常跳轉到用戶修改界面,修改信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到角色管理界面。實際結果正常跳轉到用戶修改界面,修改信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到角色管理界面。表5.10角色測試案例3用例編號Test10測試目的測試角色管理界面的修改功能是否正常跳轉及進行修改重置操作測試步驟1.選中角色管理界面中的一個角色的修改按鈕2.修改角色名稱3.修改角色描述4.點擊重置期望結果被修改的信息被重置到系統(tǒng)默認值實際結果被修改的信息被重置到系統(tǒng)默認值表5.11角色測試案例3用例編號Test11測試目的測試角色管理界面的權限分配功能是否正常跳轉及進行提交修改操作測試步驟1.選中角色管理界面中的一個角色權限分配按鈕2.修改功能點信息3.點擊提交期望結果正常跳轉到角色功能分配界面,修改功能點信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到角色管理界面。實際結果正常跳轉到角色功能分配界面,修改功能點信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到角色管理界面。(4)測試用戶管理。表5.12用戶測試案例1用例編號Test12測試目的測試用戶管理界面的查看功能是否正常跳轉測試步驟選中用戶管理界面中的一個用戶的查看按鈕期望結果正常跳轉到用戶查看界面,點擊飯后按鈕后返回到用戶管理界面實際結果正常跳轉到用戶查看界面,點擊飯后按鈕后返回到用戶管理界面表5.13用戶測試案例2用例編號Test13測試目的測試用戶管理界面的修改功能是否正常跳轉及修改操作能否提交測試步驟選中用戶管理界面中的一個用戶的修改按鈕修改用戶的信息點擊提交期望結果正常跳轉到用戶修改界面,修改用戶信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到用戶管理界面。實際結果正常跳轉到用戶修改界面,修改用戶信息后點擊提交按鈕后正常跳轉到數(shù)據(jù)操作成功界面然后返回到用戶管理界面。(5)測試系統(tǒng)性能。記錄系統(tǒng)響應時間及點擊過程中發(fā)生錯誤的次數(shù)。同時在不同電腦上進行多用戶登錄權限系統(tǒng)。5.4測試結果分析通過對權限系統(tǒng)測試,發(fā)現(xiàn)了許多的錯誤,對照自己的需求分析和源代碼,及時地更正了錯誤,并實現(xiàn)了一些功能。更正完成之后,又重新測試,沒有發(fā)現(xiàn)問題。當然,還將會發(fā)現(xiàn)未測試到的隱含的錯誤的存在,還需要不斷的更正與完善系統(tǒng)。系統(tǒng)主要的三大功能現(xiàn)在已經(jīng)全部能正常運行和使用,界面操作的數(shù)據(jù)變更能及時的傳送到后臺數(shù)據(jù)庫中,系統(tǒng)功能的需求已經(jīng)基本實現(xiàn)。系統(tǒng)性能良好,在檢測的時間內沒有出現(xiàn)系統(tǒng)崩潰的現(xiàn)象,響應時間快,在可接受的范圍之內。支持多用戶同時登陸,由于權限系統(tǒng)不會有太大的訪問量,系統(tǒng)能很好的支持。

6總結與展望B/S系統(tǒng)中的權限比C/S中的更顯的重要,C/S系統(tǒng)因為具有特殊的客戶端,所以訪問用戶的權限檢測可以通過客戶端實現(xiàn)或通過客戶端+服務器檢測實現(xiàn),而B/S中,瀏覽器是每一臺計算機都已具備的,如果不建立一個完整的權限檢測,那么一個“非法用戶”很可能就能通過瀏覽器輕易訪問到B/S系統(tǒng)中的所有功能。因此B/S業(yè)務系統(tǒng)都需要有一個或多個權限系統(tǒng)來實現(xiàn)訪問權限檢測,讓經(jīng)過授權的用戶可以正常合法的使用已授權功能,而對那些未經(jīng)授權的“非法用戶”將會將他們徹底的“拒之門外”。本系統(tǒng)通過使用JSP、HTML、JavaScript、JSP、JavaBean、面向對象程序設計、數(shù)據(jù)庫設計等基礎知識,設計了這套通用權限管理平臺。該系統(tǒng)操作簡單,適應性好,易擴展的特點,可以成為后來想更大精細化設計權限管理系統(tǒng)的范例,節(jié)省開發(fā)人員的時間和精力。

結論本系統(tǒng)是基于RBAC編寫的很簡單的權限管理系統(tǒng),實現(xiàn)了基本的用戶功能權限的處理,這套系統(tǒng)能很好的對一般用戶對系統(tǒng)的訪問進行控制,可以保證系統(tǒng)安全穩(wěn)定的進行運行。有了這個權限管理系統(tǒng),就可以對系統(tǒng)用戶進行逐個賦權,根據(jù)具體職能開放具體明確的功能權限供給他們使用。這套系統(tǒng)利用了時下最為流行的網(wǎng)頁編程語言JSP,通過JSP的穩(wěn)定安全特性保證系統(tǒng)的健壯性。同時結合JavaScript腳本語言使系統(tǒng)能夠很好的為客戶在系統(tǒng)環(huán)境中的日常工作進行服務。

參考文獻[1]JeffreyD.Ullman,JenniferWidom.數(shù)據(jù)庫系統(tǒng)基礎教程(AFIRSTCOURSEIN DATABASESYSTEMS).北京:機械工業(yè)出版社2008[2]RickGreenwald.Oracle.高級編程.北京:清華大學出版社2007[3]陳禹.軟件開發(fā)工具.北京:經(jīng)濟科學出版社1999[4]唐友國,湛洪波.JSP網(wǎng)站開發(fā)詳解.北京:電子工業(yè)出版社2008[5](美)BruceEckel著陳昊鵬譯.Java編程思想(第4版).北京:機械工業(yè)出版社2007/6[6]陳天河.Java數(shù)據(jù)庫高級編程寶典.北京:電子工業(yè)出版社2005[7]June.DevelopingJavaBeans.美國:O’Reilly&Associates2007/8[8](美)TedNeward著方小麗譯.EffectiveEnterpriseJava中文版.北京:機械工業(yè)出版社2005/9[9](印)DhrubojyotiKayal著張平,龔波,李平芳譯.JavaEE設計模式:Spring單位級開發(fā)最佳實踐北京:人民郵電出版社[10]易高翔,楊春生,馬良俊,魏利軍,吳宗之.B/S模式下基于角色的權限管理系統(tǒng)設計與實現(xiàn).中國安全生產科學技術[11]DavidF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論