概觀

WIF 標誌

身分識別的挑戰

大部分開發人員都不是安全性專家,因此對驗證、授權和個人化使用者經驗的工作感到不自在。 畢竟這不是傳統電腦科學課程中教授的科目,更不用提長久以來對這些功能的忽視,直到最近才在軟體開發生命週期中受到重視。

一家公司擁有數十或數百種 Web 應用程式與服務的情況如今已相當常見,這些應用程式和服務中多數擁有各自的使用者身分識別儲存區,卻大部分都得遷就特定某一種驗證方法。 開發人員深知在每一種應用程式內建立身分識別支援的難度,而 IT 專業人員更明白管理所產生的整套應用程式會是多麼昂貴。

一直以來都是採用將使用者帳戶集中到企業目錄內的方式來有效解決這個問題。 而通常是 IT 專業人員才知道用什麼方式查詢目錄最快且有效,如今這項任務卻常落在開發人員的身上。 在面對合併、收購和夥伴關係時,開發人員可能會面臨存取多個目錄、使用多個 API 的情況。

Microsoft .NET Framework 中有許多在應用程式中建立身分識別支援的方式,而每一種通訊架構都採用不同的方式、不同的物件模型、不同的儲存模型等處理身分識別。 甚至在 ASP.NET 中,開發人員可能會因為到哪裡尋找身分識別而頭痛不已:是否應該在 HttpContext.User 屬性中尋找? 那麼 Thread.CurrentPrincipal 呢?

大量使用密碼的情形已導致網路釣魚一發不可收拾。 但是在各種應用程式執行各式各樣工作的情況下,公司很難升級至更強大的驗證技術。

較佳的方案

解決這些問題的方法就是接下來不要再於每一個新的應用程式中建立自訂的身分識別系統和使用者帳戶資料庫。 但即使是倚賴中央企業目錄的開發人員,也仍然對合併、收購和外部夥伴關係感到頭痛,有些開發人員甚至因為實際上是其他應用程式中沒效率的查詢拖累整個目錄導致效能低落而遭到責難。 本文件中說明的宣告式方案能夠讓開發人員不必為了查詢使用者的身分識別詳細資料,而連接到任何特殊企業目錄。 使用者的要求中就已經包含應用程式執行工作所需的全部身分識別詳細資料。 使用者帶著這些宣告抵達時早已經過驗證,且應用程式能夠執行其工作,而不必擔心管理或尋找使用者帳戶。

讓驗證與應用程式各自獨立,可為開發人員、IT 專業人員和使用者帶來許多好處。 簡單來說,每個人要管理的使用者帳戶數目更少,產生的集中式驗證可使其輕鬆隨著演進過程升級為更強大的驗證方法,甚至讓身分識別與其他平台和組織結盟。

本節包含的主題將幫助身為開發人員的您了解宣告式身分識別模型,並且透過 Windows® Identity Foundation (WIF) 這個 Microsoft 所發展出著重於身分識別的新架構來充分運用該模型。

什麼是 Windows Identity Foundation?

WIF 是一組 .NET Framework 類別,它是一套在您的應用程式中實作宣告式身分識別的架構。 它將讓您更容易獲得本主題中所述宣告式系統的好處。WIF 可在使用 .NET Framework 3.5 SP1 版的任何 Web 應用程式或 Web 服務中使用。

WIF 是 Microsoft 同盟識別身分軟體系列的一部分,它能實現業界對於可互通身分識別中繼系統的共同遠景。 同盟識別身分是由三個元件所組成:Active Directory Federation Services (ADFS) V2 (舊稱為 "Geneva" Server)、Windows CardSpace "Geneva" 和 WIF。 這三個元件共同構成了 Microsoft 全新宣告式存取平台的核心。 如需伺服器和 CardSpace 元件的相關資訊,您可以參考 Geneva 網站 (英文)。 《Introducing 'Geneva'》白皮書提供了整套 Geneva 技術的概觀。 截至本文截稿為止,WIF 和其他兩項產品的初級版次已可供下載。

本節包含的主題將說明宣告式身分識別模型、該模型能夠解決的問題,以及如何透過 Windows® Identity Foundation (WIF) 充分運用該模型。

  1. 身分識別儲存區

  2. 宣告式身分識別模型

  3. 基本案例

  4. 安全性權杖服務

  5. 信賴憑證者

  6. 同盟案例

  7. 什麼是 Windows Identity Foundation?