WIF基本原理(4)聯合身份驗證例項

2021-09-22 11:12:11 字數 2937 閱讀 9065

本例項要實現合作夥伴員工通過單一登入來嘗試訪問其他合作夥伴域中的資源。聯合身份驗證方案中有三個主要角色:標識提供方、宣告提供方和信賴方。

wif會提供api 來構建所有這三個角色。

圖15-11說明了典型的聯合身份驗證方案。

在此方案中,

fabrikam

員工希望無需重新登入即可訪問

contoso.com 資源,也就是使用單一登入。

圖15-11 聯合身份驗證

參與此方案的虛構使用者包括: q

frank

:希望訪問

contoso

資源的fabrikam

員工。

qdaniel

:在應用程式中實施必要更改的

contoso

應用程式開發人員。 q

adam

:contoso it管理員。

此方案中涉及的元件包括:

web1:乙個部件訂購

web應用程式,使用asp.net

構建,用於控制對相關部件的訪問。

sts1:乙個

sts,扮演

contoso.com中的宣告提供方角色,可發出應用程式 (web1) 預期的宣告。它已經與

fabrikam.com建立信任,並被配置為允許訪問

fabrikam

員工。

sts2:乙個

sts,扮演

fabrikam.com 中的標識提供方角色,可提供對

fabrikam

員工進行身份驗證的終結點。它已經與

contoso.com 建立信任,讓

fabrikam

員工可以訪問

contoso.com 資源。

如圖15-4所示,此方案中的流程如下:

1)contoso

管理員adam

對應用程式 (rp) 與 sts1之間的信任進行配置。

2)contoso

管理員adam

對與作為標識提供方的

sts2之間的信任進行配置。

3)fabrikam

管理員frank

對與作為宣告提供方的

sts1之間的信任進行配置,然後訪問應用程式。 下

面來看實現聯合身份驗證的簡要流程。

步驟1設定宣告提供方。 為

contoso.com管理員

adam

提供三個可用選項: q

安裝sts

產品,如adfs 2.0。 q

訂閱雲sts

產品,如liveid sts。

q使用wif構建自定義

sts。

可以根據業務需要、時間表、技術資源的可用性、劃撥的預算等幾個因素來選擇選項。對於此示例方案,們假設

adam

選擇選項1,並使用 adfs 2.0 產品文件將 adfs 2.0安裝為rp-sts。

步驟2安裝

wif。

新增**清單15-3所示的**來列舉宣告。

**清單15-3  列舉宣告

// get the access to i

claim

sidentity

iclaim

sidentity claimsidentity = ((i

claim

sprincipal)thread.currentprincipal).identities[0];

步驟3建立從信賴方應用程式到

sts的

信任。

daniel

使用federation utility工具建立從rp應用程式到

sts的

信任。該工具還會為rp應用程式生成元資料,並將xml檔案 (metadata.xml) 放入rp應用程式的資料夾內。rp應用程式web.config檔案中有關

sts (sts1) 的

資訊會自動得到更新。

步驟4是在宣告提供方處配置信賴方應用程式。

adam

通過參考 adfs 2.0 產品文件來建立與 rp 應用程式的信任。

步驟5

fabrikam

處配置身份提供方 (ip)。 為

fabrikam.com 管理員

frank

提供三個可用選項: q

購買並安裝

sts產品,如 adfs 2.0。 q

訂閱雲sts

產品,如 liveid sts。

q使用wif構建自定義

sts。

對於此示例方案,假設

frank

選擇選項1並將 adfs 2.0 安裝為 ip-sts

。frank

也通過參考 adfs 2.0 產品文件來建立與作為宣告提供方的

contoso.com 的

信任。

步驟6訪問

web應用程式。

frank

以fabrikam

域使用者的身份登入到

fabrikam

系統。然後,他開啟瀏覽器並訪問

contoso.com rp 應用程式頁面。由於已在

fabrikam

和contoso

之間建立聯合身份驗證信任,所以

frank

現在無需重新進行身份驗證即可訪問

contoso

的資源。

上面的步驟,並不完整,希望讀者能從場景和概念上對聯合身份驗證有乙個完整的認識

--------------------------注:本文部分內容改編自《.net 安全揭秘》

WIF基本原理(4)聯合身份驗證例項

本例項要實現合作夥伴員工通過單一登入來嘗試訪問其他合作夥伴域中的資源。聯合身份驗證方案中有三個主要角色 標識提供方 宣告提供方和信賴方。wif會提供 api 來構建所有這三個角色。圖15 11 說明了典型的聯合身份驗證方案。在此方案中,fabrikam 員工希望無需重新登入即可訪問 contoso....

Forms身份驗證基本原理

我們來看下forms身份驗證基本原理 一 身份驗證 要採用forms身份驗證,先要在應用程式根目錄中的web.config中做相應的設 置 其中表示本應用程式採用forms驗證方 式。標籤中的name表示指定要用於身份驗證的cookie。預設是.aspxauth,其實你可以用任何名字,這也就是你在本...

Forms身份驗證的基本原理

一 身份驗證 要採用forms身份驗證,先要在應用程式根目錄中的web.config中做相應的設定 其中表示本應用程式採用forms驗證方式。1.標籤中的name表示指定要用於身份驗證的 http cookie。預設情況下,name 的值是 aspxauth。採用此種方式驗證使用者後,以此使用者的資...