基于A(yíng)SP.NET的Web應用程序安全性的探討
建立Passport驗證的關(guān)鍵一步是正確地設置Web.config文件,使用代碼如下所示:本文引用地址:http://dyxdggzs.com/article/188685.htm
3 授權
用戶(hù)通過(guò)驗證,并且取得自己的身份后,就必須檢查其是否擁有訪(fǎng)問(wèn)所請求資源的權限,此過(guò)程便稱(chēng)為“授權”。例如,在機密的政府機構中,如果有人想進(jìn)入某些房間,則首先必須檢查其是否擁有進(jìn)入該房間的權限。
在Windows系統中,大部分的文件都會(huì )擁有一個(gè)訪(fǎng)問(wèn)控制列表。不僅會(huì )列出有哪些用戶(hù)或者用戶(hù)組訪(fǎng)問(wèn)該資源,而且詳細地指出了每個(gè)用戶(hù)或者用戶(hù)組所能夠運行的訪(fǎng)問(wèn)類(lèi)型一能否讀取、寫(xiě)入、修改和刪除等。
《圖片管理系統》中的權限聲明:12級的用戶(hù)指超級管理員,即可以執行所有操作;11級的用戶(hù)擁有修改圖片權限:10級的用戶(hù)只有瀏覽圖片的權限。
在ASP.NET中,授權方式主要有2種,它可以依賴(lài)Windows指出通過(guò)驗證的用戶(hù)可訪(fǎng)問(wèn)哪些資源,稱(chēng)之為文件授權;也可依賴(lài)被請求資源的URL,被稱(chēng)為URL授權。下面的這段代碼可實(shí)現對多個(gè)目錄的權限控制:
URL授權由UrlAuthorizationModule HTTP模塊控制,該模塊的行為由存儲于web.config文件的authorization>中的設置驅動(dòng)。在URL授權的最后階段,需要指出的是,只有ASP.NET資源受到監控。通常,基于URL的授權很少與Windows身份驗證一起使用,URL授權對于Forms身份驗證則更有效。
4 模擬
ASP.NET的另一項重要安全功能便是用戶(hù)賬戶(hù)模擬。默認狀態(tài)下,ASP.NET不啟用模擬,而是執行所有的代碼,應用程序可訪(fǎng)問(wèn)所有的文件與文件夾,這時(shí)必須采用其他的安全措施控制訪(fǎng)問(wèn)權限。
圖3詳細說(shuō)明了用戶(hù)為獲得安全資源的訪(fǎng)問(wèn)權限需要經(jīng)歷的過(guò)程。
使用模擬功能,ASP.NET能夠以訪(fǎng)問(wèn)應用程序的用戶(hù)身份來(lái)執行頁(yè)面。即若用戶(hù)以“Winters”身份來(lái)訪(fǎng)問(wèn)資源,則ASP.NET將把自己模擬成“Winters”來(lái)使用服務(wù)器上的各項資源,并根據該用戶(hù)的權限限制或者允許ASP.NET訪(fǎng)問(wèn)某些資源,從而實(shí)現數據的安全性。模擬用戶(hù)的流程圖如圖4所示。
ASP.NET應用程序是系統資源的用戶(hù),需要訪(fǎng)問(wèn)文件、內存等,因此在默認狀態(tài)下,ASP.NET應用程序進(jìn)程有非常大的權限,幾乎可訪(fǎng)問(wèn)系統提供的任何資源。但有時(shí)可能根據需要通過(guò)使用ASP.NET應用程序的用戶(hù)身份來(lái)限制對資源的使用,這便要運用模擬功能,讓ASP.NET模擬用戶(hù)身份運行程序。
5 結語(yǔ)
綜上所述,是通過(guò)開(kāi)發(fā)《圖片管理系統》中對ASP.NET安全性的探討。文章中的例子包括程序代碼段都是在開(kāi)發(fā)過(guò)程中應用的、經(jīng)過(guò)驗證的、也是運行通過(guò)的。有關(guān)于A(yíng)SP.NET安全性問(wèn)題有待于繼續探討。
評論