王龍軍
(成都工業(yè)學(xué)院,四川 成都 611730)
訪問控制是通過某種途徑顯示的準(zhǔn)許或限制訪問能力及范圍,從而限制對目標(biāo)資源的訪問,防止非法用戶的侵入或合法用戶的不慎操作所造成的破壞。目前流行的訪問控制模型有自主訪問控制模型 (Discretionary Access Control,DAC)、強(qiáng)制訪問控制模型(Mandatory Access Control,MAC)和基于角色的訪問控制模型 (Role-Based Access Control,RBAC)。
其中基于角色的訪問控制方法是目前公認(rèn)的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法。其顯著的兩大特征是:(1)減小授權(quán)管理的復(fù)雜性,降低管理開銷;(2)靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。
本文結(jié)合高校圖書館門戶系統(tǒng)的現(xiàn)狀,采用當(dāng)前流行的基于角色的訪問管理模型,設(shè)計和實(shí)現(xiàn)了滿足圖書館門戶系統(tǒng)中管理后臺資源的權(quán)限管理系統(tǒng),達(dá)到減輕系統(tǒng)管理員工作強(qiáng)度、降低授權(quán)管理的出錯幾率、提高系統(tǒng)安全性的目的。
系統(tǒng)管理員可以根據(jù)職能或機(jī)構(gòu)的需求策略來創(chuàng)建角色、給角色分配權(quán)限,并給用戶分配角色,用戶能夠訪問的權(quán)限由該用戶擁有的角色權(quán)限集合決定,即把整個訪問控制過程分成2步:訪問權(quán)限與角色相關(guān)聯(lián),角色再與用戶關(guān)聯(lián),從而實(shí)現(xiàn)用戶與訪問權(quán)限的邏輯分離。
本系統(tǒng)采用B/S模型結(jié)構(gòu)設(shè)計,以ASP.NET作為開發(fā)Web的語言,數(shù)據(jù)庫采用SQL Server 2000,其中數(shù)據(jù)庫為libdb,用戶數(shù)據(jù)表為users,開發(fā)平臺采用VS2005。本系統(tǒng)采用URL授權(quán)來授予角色對目錄的訪問權(quán)限,將同一角色所訪問資源的權(quán)限存放在同一個文件夾下,然后將文件夾的訪問權(quán)限分配給相應(yīng)的角色,只有具有授權(quán)角色的用戶才能訪問該文件夾,從而防止非授權(quán)角色的用戶訪問指定的目錄。
本系統(tǒng)的具體實(shí)現(xiàn)步驟如下:
使用Roles類實(shí)現(xiàn)用戶角色功能時,首先需要在system.web配置節(jié)下設(shè)置允許使用用戶角色管理:
在ASP.NET權(quán)限管理模型中,默認(rèn)情況下成員資格管理、角色管理與個性化用戶配置所使用的數(shù)據(jù)表都存儲在"App_Data"文件夾下名稱為aspnetdb.mdf的SQL Server 2005 Express實(shí)例文件中。如果要把a(bǔ)spnetdb.mdf數(shù)據(jù)庫中的成員的角色關(guān)系添加到SQL Server 2000的數(shù)據(jù)庫中,需要利用aspnet_regsql.exe工具來完成這個功能,在Visual Studio 2005命令提示下輸入aspnet_regsql,會彈出一個對話框,一直點(diǎn)"下一步"按鈕,直到看到有“選擇服務(wù)器和數(shù)據(jù)庫“的選項(xiàng)時,選擇自己的數(shù)據(jù)庫libdb。
(1)拒絕匿名用戶即游客訪問網(wǎng)站,如果訪問跳轉(zhuǎn)到Login.aspx登錄頁,在system.web配置以下設(shè)置:
(2)下面的配置內(nèi)容表示只有在角色為manage的用戶登錄后才能訪問manage文件下的aspx頁面。
(3)下面的配置內(nèi)容表示只有在角色為member的用戶登錄后才能訪問member文件下的aspx頁面。
(4)創(chuàng)建相關(guān)頁面和在運(yùn)行時使用角色
以下代碼演示用戶是否屬于系統(tǒng)管理員(manage)角色為例,判定用戶的角色是否存在,如果用戶沒創(chuàng)建角色,則創(chuàng)建角色,根據(jù)用戶的角色,然后分配相應(yīng)的訪問權(quán)限。
本文在分析基于角色的訪問控制模型的基本思想的基礎(chǔ)上,采用ASP.NET作為開發(fā)語言,設(shè)計并實(shí)現(xiàn)在圖書館門戶系統(tǒng)后臺管理中基于角色的用戶訪問控制系統(tǒng),簡便有效地控制用戶對系統(tǒng)權(quán)限資源的訪問,該系統(tǒng)具有良好的擴(kuò)展性、靈活性、操作簡便等特點(diǎn),在實(shí)際運(yùn)行過程中取得良好的運(yùn)行效果。
[1]羅俊,顏一鳴.基于.NET的用戶權(quán)限管理設(shè)計與實(shí)現(xiàn)[J].電腦知識與技術(shù),2009,5(29).
[2]李曉燕,管群.NET下基于角色的訪問控制的應(yīng)用[J].計算機(jī)安全,2008,(01).
[3]楊劍,閃四清.ASP.NET環(huán)境下基于角色的權(quán)限控制的實(shí)現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2007,17(5).