本例項要實現合作夥伴員工通過單一登入來嘗試訪問其他合作夥伴域中的資源。聯合身份驗證方案中有三個主要角色:標識提供方、宣告提供方和信賴方。
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。採用此種方式驗證使用者後,以此使用者的資...