Passport 驗證是由 Microsoft 提供的一項集中式驗證服務,對成員站台提供了單一登入和核心設定檔的服務。Passport 對使用者的好處是不需要登入限制存取的新資源或網站。如果您希望您的站台與 Passport 驗證和授權相容,您應該使用這個驗證提供者。這個主題提供有關 Microsoft .NET Passport 和 ASP.NET 對其支援的簡介。如需詳細資訊,請參閱 .NET Passport 網站。若要存取這份說明文件,就必須先取得 Passport 並註冊。
Passport 是 Cookie 架構的驗證服務。使用 Passport 驗證的範例交易對談運作方式如下:
用戶端發出一個對受保護資源的 HTTP GET 要求,例如 https://www.contoso.com/default.aspx。
檢查現有 Passport 驗證票證的用戶端 Cookie。如果站台找到有效的認證,便會驗證該用戶端。如果要求不包括有效的驗證票證,伺服器就會傳回狀態碼 302,並將用戶端重新導向至 Passport 登入服務。查詢字串中包含有 URL 的回應,會傳送至 Passport 登入服務,以便將用戶端導回原始站台。
用戶端依循重新導向,發出 HTTP GET 要求給 Passport 登入伺服器,並傳送原始站台的查詢字串資訊。
Passport 登入伺服器對用戶端顯示一個登入表單。
用戶端會填入表單並使用 Secure Sockets Layer (SSL) 回傳給登入伺服器。
登入伺服器驗證使用者,並將用戶端重新導回原始 URL (https://www.contoso.com/default.aspx)。回應在查詢字串中包含一個加密的 Passport Cookie。
用戶端依循重新導向,再一次要求原始受保護的資源,不過這次是以 Passport Cookie 進行的。
在起始伺服器上,PassportAuthenticationModule 會偵測 Passport Cookie 的存在並測試驗證。如果成功,則接著驗證要求。
接下來對網站上限制存取資源的要求,都會使用所提供的票證加以驗證。Passport 同時也可驗證票證的有效期限以及在其他成員站台上重複使用票證。
Passport 使用三重 DES 加密配置。當成員站台向 Passport 註冊後,它們將被授與一個站台專用的金鑰。Passport 登入伺服器會使用這個金鑰,以加密並解密在站台間傳遞的查詢字串。
注意事項 |
|---|
若要使用 Passport 驗證,您的網站必須向 Passport 服務註冊、接受授權合約,並且先安裝要使用的 .NET Passport SDK。如需設定 ASP.NET 應用程式使用 Passport 驗證的詳細資訊,請參閱 .NET Passport Service Guide Kit 網站。 |
請參閱
工作
HOW TO:實作 ASP.NET 應用程式的 Passport 驗證
參考
IIdentity
PassportAuthenticationModule
PassportIdentity
注意事項