ASP.NET應用執(zhí)行驗證
在創(chuàng)建ASP.NET應用時,ASP.NET為我們提供了配置文件來配置session state、授權和認證等等。有兩個配置文件:
(1)Maching.config——用來定義server的配置,安裝.net framework的時候就安裝了此文件,位于%winDir%\Microsoft.Net\Framework\yourVersion\Config目錄下。此文件中的配置是應用于本機所有虛擬目錄的。
(2)Web.config——針對各個具體的web應用的配置,在各自ASP.NET應用的目錄下。每個ASP.NET有自己的web.config文件,而此應用下的每個子目錄也可以有自己的web.config文件,而且下級的web.config文件中的設置覆蓋上級web.config文件中的設置。
ASP.NET 安全基礎
開發(fā)一個安全的ASP.NET應用必須考慮下面的基本的安全裝置:
(1)Authentication——檢查用戶的身份。
(2)Authorization——根據用戶的身份確定其能訪問哪些資源。
(3)Impersonation——就是一個線程使用不同于其所在進程的身份去執(zhí)行操作的能力。
System.Web.Security 名字空間中提供了很多關于應用安全的類。如:FormsAuthentication、FormsIdentity和PassportIdentity。具體請查閱MSDN。
ASP.NET應用執(zhí)行驗證
1.驗證——通俗地說就是要檢查來訪者的身份——“來者何人?”
ASP.NET驗證
ASP.NET使用authentication provider來實現(xiàn)驗證,這些provider包括:
◆IIS authentication
◆Windows-based authentication
◆Forms-based authentication
◆Passport authentication
◆Anonymous authentication
下面分別說明之:
(1)IIS 認證。任何Web請求必須先通過IIS來訪問ASP.NET應用執(zhí)行驗證,IIS的認證可以通過IIS管理器進行配置。IIS提供了多種認證裝置,這包括:
◆Anonymous access——匿名訪問。當不需要驗證用戶身份的時候使用此方式。
◆Basic authentication——基本認證。需要用戶提供用戶名和密碼,但以明文傳輸。這通常需要和SSL/TLS結合使用。
◆Digest authentication——摘要式認證。和基本認證類似,但不直接傳輸明文,而是傳輸Hash值。而且,需要IIS Server必須在一個windows域中,且使用AD來保存用戶帳戶。
◆Integrated Windows authentication——整合的windows認證。使用windows認證協(xié)議通信,使用操作系統(tǒng)中的帳戶。
◆Client certificate authentication——客戶端證書認證。使用X.509數字證書來驗證訪問者身份。
(2)基于Windows的認證。ASP.NET應用依賴windows操作系統(tǒng)去驗證用戶。此為默認選想。驗證的過程為:Client端請求一個頁面——>IIS檢查windows帳戶,如果不合法則要求其登錄——>用戶登錄成功后,返回其請求的頁面。此驗證方式對于有proxy server的情況下不能工作。
(3)基于表單的認證。此認證方式使用HTTP 客戶端重定向來重定向未驗證通過的請求到一個HTML表單。其過程為:Client端請求一個頁面——>ASP.NET檢查客戶端的cookie,如果沒有發(fā)現(xiàn)則讓用戶登錄——>用戶登錄成功后,返回頁面和驗證cookie給請求者。此驗證方式需要開發(fā)者寫驗證邏輯。
(4)Passport認證。由微軟提供的集中認證服務。
(5)匿名認證。
2. Form 驗證步驟為:
(1)在IIS管理器中設置IIS為匿名訪問。
(2)在web.config文件配置為Form認證方式。
(3)建立授權。在web.config文件中配置<authorization>節(jié)來設定接收或者拒絕用戶訪問,還可以設置哪些頁面需要認證。
(4)建立一個登錄頁面。在這個頁面上要求用戶輸入用戶名和密碼,然后到保存帳戶信息的地方進行檢查。你可以把帳戶信息放在配置文件、注冊表、數據庫或者AD中。
3. Windows 驗證步驟為:
(1)設置IIS為windows認證,選擇basic、Digest和Integrated windows其中的一種方式。
(2)配置web.config。
以上介紹ASP.NET應用執(zhí)行驗證
【編輯推薦】