權(quán)限管理系統(tǒng)的設(shè)計與實現(xiàn)-計算機畢業(yè)設(shè)計源碼+LW文檔
1.1研究背景
隨著信息技術(shù)高速的發(fā)展,越來越多的企事業(yè)單位使用管理系統(tǒng)來提高管理效率。在軟件公司,具有許多軟件項目需要開發(fā),為了更好的管理開發(fā)過程,涉及了許多用戶角色,包括項目經(jīng)理、需求分析師、系統(tǒng)分析師、開發(fā)人員、測試人員、運維人員等,不同的人員在開發(fā)過程中,具有不同的工作權(quán)限。
在基于軟件開發(fā)流程的權(quán)限管理中,需要分析權(quán)限管理的需求分析,設(shè)計權(quán)限管理的功能和實現(xiàn)的算法和方法、權(quán)限管理的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編碼和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交權(quán)限管理程序等一系列操作,來滿足軟件的角色權(quán)限問題。通過基于軟件開發(fā)流程的權(quán)限管理系統(tǒng),使角色的職責清晰,同時進行權(quán)限的分配,合理的管理人員開發(fā)任務(wù)。
1.2研究意義與目的
在軟件開發(fā)流程中,系統(tǒng)的用戶很多,系統(tǒng)的功能也很多,不同用戶對系統(tǒng)功能的需求不同。如果遇到上述情況,那么該系統(tǒng)能夠擁有一個強大安全的軟件開發(fā)流程的權(quán)限管理系統(tǒng)是比較關(guān)鍵的。本權(quán)限管理系統(tǒng)的設(shè)計考慮有兩方面:出于安全考慮,可以將重要的系統(tǒng)功能只給部分用戶使用;出于方便性考慮,系統(tǒng)的功能可以根據(jù)不同的用戶定制。以用戶為主來進行權(quán)限角色設(shè)計符合客戶的使用習慣,即將多個角色授予某個用戶、某種權(quán)限授予多個用戶。這樣,用戶將擁有其所屬角色的所有權(quán)限。
軟件公司有許多的軟件需要開發(fā),而權(quán)限管理是必不可少的功能之一。如果每一個軟件在開發(fā)過程中,都重新編寫一遍權(quán)限管理功能模塊,勢必會影響開發(fā)效率,并難以保證軟件的交付時間。所以,軟件公司目前需要一款可以解決在軟件開發(fā)過程中的權(quán)限管理模塊系統(tǒng),幫助軟件公司提高開發(fā)效率,保障開發(fā)過程的安全性。軟件開發(fā)流程的權(quán)限管理系統(tǒng)是一個通用的模塊,可以運用到所有相關(guān)的軟件項目開發(fā)中,幫助軟件公司用最少的時間和代價完成項目開發(fā)。因此,本基于軟件開發(fā)流程的權(quán)限管理系統(tǒng)具有非常重要的意義。
2.研究現(xiàn)狀(文獻綜述)
2.1 國內(nèi)外行業(yè)發(fā)展現(xiàn)狀
2.1.1國外研究現(xiàn)狀
起初由美國國防部研究產(chǎn)生了自主訪問控制DAC和強制訪問控制MAC。國外的許多機構(gòu)就在為定義RBAC的標準而工作,其中就包括NIST(National Institute of Standards and Technology),它們對這項技術(shù)的研究和開發(fā)起了非常重要的推動作用。
國外對如何實現(xiàn)角色模型在 web訪問控制技術(shù)中的應用的研究中,積攢了較多的經(jīng)驗和成果。迄今,國外對RBAC的研究成果比較多的是其在操作系統(tǒng)管理、數(shù)據(jù)庫系統(tǒng)管理等方面的應用,而信息系統(tǒng)中如何具體應用的研究成果則相對較少。最初主要是為了防止機密信息被未經(jīng)授權(quán)者訪問而對技術(shù)進行研究和應用,而現(xiàn)在已經(jīng)開始將這些策略轉(zhuǎn)戰(zhàn)應用到商業(yè)領(lǐng)域中。自主訪問控制最常見的應用是操作系統(tǒng)中文件系統(tǒng)的權(quán)限設(shè)計,如Microsoft的NTFS (New Technology File System)文件系統(tǒng),是Windows的文件系統(tǒng)的權(quán)限管理方式。DAC模型的最大缺陷是對權(quán)限控制比較分散,每個資源都要維護一條可訪問列表信息導致系統(tǒng)的額外開銷較大。權(quán)限難以控制且不便于管理,無法簡單地將一組文件設(shè)置統(tǒng)一的權(quán)限開放給指定的一群用戶,同時會出現(xiàn)信息的泄露問題。
2.1.2國內(nèi)研究現(xiàn)狀
近年來,隨著RBAC在安全訪問控制技術(shù)領(lǐng)域逐漸成為研究的熱點內(nèi)容,國內(nèi)相關(guān)領(lǐng)域的專家和學者也開始研究并重視其發(fā)展,例如曾提出過基于業(yè)務(wù)工作流和角色的訪問控制模型( WRBAC)以及基于角色的多級訪問控制模型(RBMHAC)等。而更多的國內(nèi)研究人員在RBAC模型在實踐中的實現(xiàn)及應用的研究方面取得了一定的進展,針對不同應用系統(tǒng)提出了相應的實現(xiàn)方案。
清華大學的謝劍、朱志明、郝剛等開發(fā)了一種基于角色的通用化用戶權(quán)限管理系統(tǒng),該系統(tǒng)主要針對軟件開發(fā)過程中用戶權(quán)限管理功能需求,提供了的一個較好的權(quán)限控制實現(xiàn)方案,而且在軟件使用過程中能夠比較方便地設(shè)置和修改系統(tǒng)配置參數(shù)。
中國科學院軟件研究所的丁仲和左春提出了一個比較適用于各個領(lǐng)域的面向?qū)ο蟮?RBAC權(quán)限控制框架。該框架提供的實現(xiàn)方案使得權(quán)限管理可以進行重用,在框架內(nèi)實現(xiàn)了通用的權(quán)限管理模型,并且加入了與領(lǐng)域緊密相關(guān)的易變的權(quán)限規(guī)則,從而使軟件的復用程度得到了較大的提高。
2.2技術(shù)發(fā)展現(xiàn)狀
在開發(fā)軟件時,我們經(jīng)常會遇到賬號體系,那么就不可避免地涉及到了權(quán)限控制或者叫權(quán)限管理。很多人容易把權(quán)限控制和權(quán)限驗證搞混淆,以為在前端隱藏了某個按鈕就控制好權(quán)限了,其實用戶可以直接發(fā)送一個接口請求服務(wù)端來完成這個操作。權(quán)限控制是指在一個系統(tǒng)中存在多個用戶角色,不同的角色擁有不同的系統(tǒng)資源訪問權(quán)限,它的實現(xiàn)更直觀地體現(xiàn)在客戶端的用戶界面上。權(quán)限管理往往是一個極其復雜的問題,但也可以簡單的表述為:判斷“who對what進行how的操作”的邏輯表達式是否為真。權(quán)限管理系統(tǒng)的核心是用戶與權(quán)限的關(guān)系,所以花時間來設(shè)計一個相對完善的權(quán)限管理系統(tǒng)是很有意義的,可以為公司節(jié)省好多寶貴的時間。
目前國內(nèi)外已設(shè)計的許多基于角色的權(quán)限管理系統(tǒng)都是一賬戶一角色的簡單模式,已經(jīng)遠遠不能滿足現(xiàn)在國內(nèi)許多政府機關(guān)以及民品企業(yè)的組織機構(gòu)需求,所以需要設(shè)計這樣一個一用戶多賬戶,一賬戶多角色,一用戶多部門,多級單位多級部門,以及密級保護等的組織機構(gòu)權(quán)限管理系統(tǒng)。
由于目前在系統(tǒng)業(yè)務(wù)層次上的需求方面,還沒有一個針對權(quán)限管理的統(tǒng)一規(guī)范的標準和實現(xiàn)模型,從而使得大多數(shù)系統(tǒng)都需要重新調(diào)查重復開發(fā),浪費了大量的時間和精力。因此,建立一個標準的規(guī)范的權(quán)限管理系統(tǒng),使用統(tǒng)一的接口和說明,將現(xiàn)有的技術(shù)資源規(guī)范化,做成通用模板、模塊等,能便利的在新項目中使用,有助于提高項目的開發(fā)效率、加大技術(shù)模塊的重用率、降低軟件開發(fā)的風險,最終達到提高軟件質(zhì)量、節(jié)省開發(fā)時間、減少部署和維護的消耗以降低軟件開發(fā)成本的目的。由此可抽象出這樣一套基于角色的權(quán)限管理系統(tǒng)模型,能夠建立在任何信息管理系統(tǒng)中,只需作適當?shù)男薷?,便可滿足不同用戶的需求,適用于大多數(shù)企業(yè)。
3.畢業(yè)論文(設(shè)計)提綱
1 引言
1.1課題的背景和意義
1.2國內(nèi)外現(xiàn)狀
1.3課題研究的內(nèi)容
1.4論文結(jié)構(gòu)
2 采用的技術(shù)方案
2.1 系統(tǒng)開發(fā)工具
2.2 JAVA技術(shù)
2.3 MYSQL數(shù)據(jù)庫
2.4 身份認證技術(shù)
2.4.1 LDAP服務(wù)器
2.4.2 Shiro框架
2.4.3 SpringSecurity框架
3 系統(tǒng)分析與設(shè)計
3.1 用戶需求分析
3.1.1 功能性需求分析
3.1.2 非功能性需求分析
3.2 系統(tǒng)的可行性分析
3.3 系統(tǒng)功能設(shè)計
3.3.1 功能模塊設(shè)計
3.3.2 功能結(jié)構(gòu)設(shè)計
3.3.3 系統(tǒng)流程設(shè)計
3.4 數(shù)據(jù)庫E-R圖
3.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計
4 系統(tǒng)實現(xiàn)
4.1角色分類的實現(xiàn)
4.2人員管理的實現(xiàn)
4.3角色管理模塊實現(xiàn)
4.4菜單管理的實現(xiàn)
4.5查詢功能的實現(xiàn)
4.6分配權(quán)限的實現(xiàn)
5 系統(tǒng)測試
5.1測試的目的
5.2測試用例
5.3性能分析
?6 總結(jié)
4.所采用的方法、手段以及步驟(含實驗、設(shè)計等)
4.1方法
文獻分析法:通過搜集、整理和分析權(quán)限管理系統(tǒng)的應用及文獻,整理權(quán)限管理系統(tǒng)的需求和相關(guān)技術(shù),并進一步做應用證明;
實證研究法:實證研究法是科學實踐研究的一種特殊形式。通過有目的有步驟地操縱,根據(jù)觀察、記錄、測定與此相伴隨的現(xiàn)象的變化來確定條件與現(xiàn)象之間的因果關(guān)系的活動。
軟件開發(fā)方法:通過軟件工程的開發(fā)流程對權(quán)限管理系統(tǒng)進行分析、設(shè)計和實現(xiàn)。
4.2手段
對SSM框架、MySQL數(shù)據(jù)庫、Java Web程序設(shè)計、前端頁面構(gòu)建進行系統(tǒng)的學習;
提出“組”的概念,將權(quán)限一致的人員編入同一組,然后對該組進行權(quán)限分配;
AdminLTE框架基礎(chǔ)及基本操作的學習;
掌握Spring Security框架的配置及基本的認證與授權(quán)操作;
權(quán)限管理與控制、用戶角色關(guān)聯(lián)、角色權(quán)限關(guān)聯(lián)的基本學習。
4.3步驟
第一步:收集需求,整理權(quán)限管理系統(tǒng)的功能需求;
第二步:熟悉SSM的邏輯結(jié)構(gòu)和處理關(guān)系,熟悉SSM結(jié)構(gòu)的設(shè)計原則。
第三步:根據(jù)功能要求畫出所有的視圖頁面,明確數(shù)據(jù)來源,從理論上勾勒出成功的結(jié)構(gòu)模型。
第四步:設(shè)計合理數(shù)據(jù)庫:根據(jù)上面的工作,設(shè)計數(shù)據(jù)庫。
第五步:各個功能模塊的編碼實現(xiàn):注意代碼的邏輯性、規(guī)范性。
第六步:系統(tǒng)調(diào)試:功能整合,完成整個系統(tǒng)。
第七步:撰寫論文:整理資料完成論文。
第八步:修改完善系統(tǒng);
第九步:修改論文,定稿;
第十步:驗收、答辯;

