IIS中的身分識別驗證

來源:互聯網
上載者:User

本文摘自MSDN:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vsent7/html/vxconiisauthentication.asp  

身分識別驗證與憑據

許多分布式應用程式的重要部分是標識某個人(稱為主體或用戶端)並控制用戶端對資源的訪問能力。身分識別驗證是驗證用戶端身份的行為。一般情況下,用戶端必須提供某些證據,一般稱為憑據,來證明其身份。通常,憑據包括使用者名稱和密碼對。Internet 資訊服務 (IIS) 和 ASP.NET 都提供幾種身分識別驗證方案。  

匿名

匿名驗證可使使用者訪問 Web 網站的公用地區,不提示使用者輸入使用者名稱和密碼。IIS 使用特定使用者帳戶 (IUSR_machinename) 將儲存好的憑據提供給 Windows。預設情況下,IIS 控制此帳戶的密碼。IIS 是否控制該密碼會影響匿名使用者的許可權。

優點

  • 提供最佳效能,這是因為匿名驗證不需要任何系統開銷。
  • 不需要管理個人使用者帳戶。
  • 如果 IIS 不控制密碼,可以訪問網路資源。

缺點

不能逐個對用戶端進行身分識別驗證。

  • 如果 IIS 不控制密碼,帳戶必須有本地登入能力。
  • ASP.NET Web.Config
  • 使用 Web.config 檔案配置 ASP.NET,指定無身分識別驗證或 Windows 身分識別驗證。  

整合 Windows 身分識別驗證

整合 Windows 身分識別驗證可以使用 NTLM 或 Kerberos V5 身分識別驗證,當 Internet Explorer 試圖訪問受保護的資源時,IIS 發送兩個 WWW 身分識別驗證頭,Negotiate 和 NTLM。如果 Internet Explorer 不能識別 Negotiate,它將使用 NTLM。 因此,所使用的機制由 Internet Explorer 與 IIS 之間的協商來決定。

整合 Windows 身分識別驗證是 Intranet 環境中最好的身分識別驗證方案,在這種使用者擁有 Windows 域帳戶,尤其是在使用 Kerberos 的時候。整合 Windows 身分識別驗證與簡要身分識別驗證一樣,不在網路上傳遞使用者密碼,而是交換雜湊值。

優點

  • 可與 Kerberos 一起使用,啟用對安全憑據的委託。
  • 使用 Windows 的 Intranet 環境的最佳方案。

缺點

  • 不能通過代理穿過防火牆驗證身份,除非通過 PPTP 串連使用它。
  • 如果選擇了 NTLM,則它不支援對其他伺服器的委託。
  • 僅 Internet Explorer 2.0 及更高版本支援它。
  • 僅 IIS 5.0 和更高版本支援 Kerberos。  

基本

IIS 實現基本驗證,基本驗證是 HTTP 1.0 規範的一部分,它使用 Windows 使用者帳戶。當使用基本驗證時,瀏覽器提示使用者輸入使用者名稱和密碼。然後此資訊通過 HTTP 傳遞,在 HTTP 上使用 Base 64 編碼方式將其編碼。基本驗證還是有固有的不安全性。由於解碼 Base 64 編碼資料很容易,因此基本驗證實質上就是將密碼作為純文字發送。預設情況下,基本驗證要求 Windows 使用者帳戶具有 Web 服務器本地登入許可權。

優點

  • 由於它是 HTTP 1.0 規範的一部分,基本驗證是得到最廣泛支援的使用者身分識別驗證方案。
  • 可以通過Proxy 伺服器驗證身份。
  • 可以跟蹤個人使用者。
  • 如果使用者帳戶有 Web 服務器的本地登入許可權,則可以訪問網路資源。
  • 可與 Kerberos 一起使用,啟用對安全憑據的委託。

缺點

  • 若不使用 SSL/TLS,本身具有不安全性。但 SSL/TLS 會影響效能。
  • 要求為每個使用者建立個人 Windows 帳戶。  

摘要式

簡要身分識別驗證克服了基本驗證的主要弱點:以純文字形式發送密碼。簡要身分識別驗證是一種質詢/響應機制,它在網上發送簡要(又稱為雜湊)而非密碼。當用戶端試圖訪問要求簡要身分識別驗證的資源時,IIS 向該用戶端發送一個質詢,要求它建立一個簡要並將其發送到伺服器。用戶端串連伺服器和用戶端都知道的密碼和資料。然後用戶端將一個簡要演算法(由伺服器指定)應用到該組合資料。用戶端將獲得的簡要發送到伺服器作為對質詢的響應。伺服器利用從 Active Directory 獲得的用戶端密碼副本,使用與用戶端相同的過程建立簡要。在 Active Directory 中使用可逆加密方法儲存密碼。如果伺服器建立的簡要與用戶端建立的簡要相匹配,則 IIS 驗證該用戶端的身份。

優點

  • 在網路上發送簡要,而非密碼。
  • 與Proxy 伺服器和防火牆一起使用。
  • 不因保護密碼而要求使用 SSL/TLS。

缺點

  • 不能委託安全憑據。
  • 僅 Internet Explorer 5.0 及更高版本支援它。
  • 受制於重放攻擊,除非使用 SSL/TLS。
  • 要求使用可逆加密方法在明文中儲存密碼。
  • 要求為 Active Directory 中的每個使用者建立域帳戶。  

以上幾種身分識別驗證方式對應的ASP.NET Web.Config為

1 <system.web>
2    <authentication mode="Windows" />
3 </system.web>4 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.