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