【正文】
的瀏覽器中,處理與用戶的交互。當(dāng)所有的用戶面對同一個系統(tǒng)時,就應(yīng)該做到用戶之間要有區(qū)分,即進(jìn)入系統(tǒng)后不同的用戶只能實行自身擁有的權(quán)限,不可以越權(quán)。 系統(tǒng)用戶管理模塊:用戶可以通過該模塊管理系統(tǒng)中涉及到的所有用戶,可以添加、刪除和修改。 工程項目管理模塊:針對公司的工程項目進(jìn)行管理,用戶可以方便地添加工程項目信息、修改某一工程項目的信息、刪除某工程項目的信息和查詢某一工程項目信息。 9 第二章 系統(tǒng)框架分析與設(shè)計 基于 MVC 架構(gòu)的 Web 系統(tǒng) 在當(dāng)前開發(fā)的商務(wù)系統(tǒng)中,一般都會包括部門管理功能模塊,員工管理功能模塊,工程項目管理功能模塊和員工薪水管理功能模塊,以及包括針對員工使用的信息查看模塊。 綜上分析,控制訪問角色的運用是一種開發(fā)和 加強企業(yè)特殊安全策略,進(jìn)行安全管理過程流程化的有效手段。例如,在一個商務(wù)管理系統(tǒng)中,經(jīng) 理角色可能包括人事管理、工資管理、分配項目等;而一般員工的角色則被限制為僅能瀏覽自己的一些信息,如基本信息、工資信息和工程項目信息等。 8 就基于角色訪問控制而言,訪問決策是基于角色的,個體用戶是某個組織的一部分。用戶可以利用自主訪問控制來防范其它用戶對自己客體的攻擊,由于用戶不能直接改變強制訪問控制屬性,所以強制訪問控制提供了一個不可逾越的、更強的安全保護(hù)層以防止其它用戶偶然或故意地濫用自主訪問控制。系統(tǒng)通過比較主體和客體的敏感標(biāo)記來決定一個主體是否能 夠訪問某個客體。 強制訪問控制,在美國國防部 Trusted Computer Security Evaluation Criteria (TCSEC) 中定義如下:“一種限制訪問客體的手段,它以包含在這些客體中的信息敏感性和訪問這些敏感性信息的主體的正式授權(quán)信息(如清除)為基礎(chǔ)”。自主訪問控制機制允許用戶被授權(quán)和取消訪問其控制之下的任何客體( object),換句話說,用戶就是他們控制下的客體的擁有者。這一研究導(dǎo)致兩種基本類型訪問控制的產(chǎn)生:自主訪問控制( Discretionary Access Control, DAC)和強制訪問控制( Mandatory Access Control, MAC)。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。 ( 2)驗證碼技術(shù) 所謂驗證碼,就是將一串隨機產(chǎn)生的數(shù)字或符號,生成一幅圖片,圖片里加上一些干擾象素,由用戶肉眼識別其中的驗證碼信息,輸入表單提交網(wǎng)站驗證,驗證成功后才能使用某項功能?,F(xiàn)在普遍在使用的安全措施有如下幾種: ( 1)防止 SQL 注入 比如 URL、表單等提交信息時,通過一段防止 SQL 注入的過濾代碼即可防止出錯信息暴露,或者通過轉(zhuǎn)向,當(dāng)系統(tǒng)出錯時轉(zhuǎn)到一個提示出錯的頁面等。尤其當(dāng)系統(tǒng)設(shè)計的用戶和角色比較多時,單純的依靠代碼進(jìn)行訪問控制將變得相當(dāng)困難。通過在系統(tǒng)中增加角色這個概念,很好的解決了這個 6 問題。 對頁面功能和數(shù)據(jù)的訪問需要知道用戶的大概類型,主要包括管理員、部門管理員、一般職工、游客(企業(yè)或單位以外的人員)等??臻g約束主要是對用戶在不同地方(網(wǎng)段)登錄所能看到的頁面以及頁面能提供的信息進(jìn)行控制。對頁面的訪問控制可以從時間和空間兩個方面來進(jìn)行,對頁面功能和數(shù)據(jù)的訪問,可以通過用戶登錄后所帶 session 中的信息進(jìn)行控制。對頁面的限制主要是限制用 戶在特定時間和特定地點所能看到的功能和所能進(jìn)行的操作。 5 RBAC適用性分析 在 RBAC 模型中,一個用戶通過用戶授權(quán)獲得一個或者 幾個角色,但角色不能被同時激活;一個角色可以被同時授予多個用戶;每個角色有一個或多個節(jié)點,一個節(jié)點也可以被賦予多個角色;每個節(jié)點有一個或者多個功能,一個功能可以被同時掛在不同的節(jié)點上,而節(jié)點可以有子節(jié)點,子節(jié)點也可以再有子節(jié)點;一個功能對應(yīng)一個或多個頁面;一個頁面有一個或多個操作。在 RBAC 中,可以根據(jù)組織內(nèi)的規(guī)章制度、職員的分工等設(shè)計擁有不同權(quán)限的角色,只有角色需要執(zhí)行的操作才授權(quán)給角色。 在 RBAC 中,它遵循如下的基本原則: 角色繼承( Role Inheritance) 為了提高效率,避免相同權(quán)限的重復(fù)設(shè)置, RBAC 采用了“角色繼承”的概念,定義了這樣的一些角色,他們有自己的屬性,但可能還繼承其他角色的屬性和權(quán)限。 會話( Session):用戶是一個靜態(tài)的概念,會話則是一個動態(tài)的概念。進(jìn)行權(quán)限分配時,應(yīng)遵循最小特權(quán)原則( the Least Privilege Rule),即分配的權(quán)限集既能保證角色充分行使其職權(quán),又不能超越職權(quán)范圍。用戶指派指根據(jù)用戶 在組織中的職責(zé)和能力被賦為對應(yīng)角色的成員。角色的例子有:經(jīng)理、采購員、推銷員等??梢允侨恕⒂嬎銠C、機器人等,一般指人。 1997 年他們更進(jìn)一步,提出了一種分布式 RBAC 管理模型 DRBAC97,實現(xiàn)了在 RBAC 模型基礎(chǔ)上的分布式管理。該模型第一次引入了角色的概念并給出其基本語義,指出 RBAC 模型實現(xiàn)了最小權(quán)限原則( the least privilege)和職責(zé)分離原則( separation of duty)。將系統(tǒng)中的用戶和系統(tǒng)中的權(quán)限關(guān)聯(lián)起來,形成一種有效的系統(tǒng)安全管理。系統(tǒng)中的不同類型的用戶對信息都具有相同的權(quán)限,可以任意的修改和刪除,這對于一些重要的信息是非常危險的。所以目前,越來越多的網(wǎng)站開始采用 MVC模式來進(jìn)行架構(gòu),但是在這其中,對于系統(tǒng)安全性問題的研究還進(jìn)行的不多。需要做的只是在新平臺上對視圖和控制器進(jìn)行新的修改。變化 傳播機制可以確保所有相關(guān)的視圖及時得到模型數(shù)據(jù)變化,從而使所有關(guān)聯(lián)的視圖和控制器做到行為同步。 企業(yè)網(wǎng)站大部分屬于商務(wù)網(wǎng)站,企業(yè)通過利用 Web 系統(tǒng),可以方便的發(fā)布產(chǎn)品信息,管理訂單信息,管理內(nèi)部的諸如人事、員工薪酬信息等。 3 Abstract When functional requirements are chiefly paid attention to by people in a mercial application system, many nonfunctional requirements are also taken into account. Security is one of the most important aspects of the nonfunctional requirements. Access control almost is a necessary part in all application systems. This paper analyses the requirements of prehensive mercial information management system based on MVC. It analyses the merits and demerits among the mon access controls, and proposes process access control based on RBAC model. Finally, it describes how to realize the model in a material mercial system. Key words: MVC, RBAC, Access Control, Role, Permission. 4 目錄 引 言 ........................................................................................................................................................................1 第一章 課題背景 ....................................................................................................................................................2 MVC概述 ........................................................................................................................................................ 2 RBAC 模型概述 ............................................................................................................................................. 3 RBAC 原理簡介 ...................................................................................................................................3 RBAC 適用性分析 ...............................................................................................................................5 RBAC 在 MVC中的應(yīng)用現(xiàn)狀 ....................................................................................................................... 6 第二章 系統(tǒng)框架分析與設(shè)計 ..............................................................................................................................9 基于 MVC架構(gòu)的 WEB系統(tǒng) ......................................................................................................................... 9 RBAC 模型的建立 ...................................................................................................................................... 11 RBAC 模型在 MVC網(wǎng)站中的應(yīng)用 ............................................................................................................ 12 第三章 設(shè)計實現(xiàn) ................................................................................................................................................. 14 RBAC 框架實現(xiàn) ........................................................................................................................................... 14 RBAC 模型在系統(tǒng)中的實現(xiàn) ..................................................................................................................... 17 系統(tǒng)功能模塊的實現(xiàn) .................................................................................................................... 17 系統(tǒng)權(quán)限模塊的實現(xiàn) .................................................................................................................... 21 系統(tǒng)角色模塊的實現(xiàn) .................................................................................................................... 23 為用戶設(shè)置角色 ..........................................................................................