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

2021-09-08 16:19:34 字數 3495 閱讀 8388

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

wif會提供

api

來構建所有這三個角色。

圖15-11

說明了典型的聯合身份驗證方案。

在此方案中,

fabrikam

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

contoso.com

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

圖15-11

聯合身份驗證

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

qfrank

:希望訪問

contoso

資源的fabrikam

員工。

qdaniel

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

contoso

應用程式開發人員。

qadam

: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

iclaim

sidentity

iclaim

sidentity

claimsidentity = ((

iclaim

sprincipal

)thread.currentprincipal).identities[0];

foreach (

claim

claim in claimsidentity.

claim

s ) }

步驟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.co...

Forms身份驗證基本原理

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

Forms身份驗證的基本原理

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