2014-07-15 34 views

回答

1

您可以在發出聲明之前使用聲明規則更改標識符。但是nzpcmad說,聯邦元數據將永遠揭示真正的entityid。

因此,如果您在不使用元數據端點的情況下聯合AD FS並手動指定entityID和端點,則可以使用聲明規則來實現此目的。

擁有Office 365的客戶有此經驗。如果使用一個AD FS聯合多個正在使用的域(在O365/Azure AD上),則在發佈之前使用聲明規則更改http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid

這裏是O365和Azure AD中使用的相關規則。以下規則提取UPN後綴,並使用此做出的標識符像http://domain.com/adfs/services/trust/(其中domain.com是在AD定義的用戶UPN後綴)

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] 
=> issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "[email protected](?<domain>.+)", "http://${domain}/adfs/services/trust/")); 

所以,如果你添加的權利要求規則的相關RP信任根據需要,您可以使用默認的AD FS標識符或使其顯示爲其他內容。

+0

有趣!域值從哪裏來 - 如$ {domain}? – nzpcmad

+0

我編輯帖子,因爲一些字符被刪除。正則表達式現在應該更清晰。 – maweeras

+0

是的 - 我認爲正則表達式組參與了某種程度! – nzpcmad

0

在元數據標準ADFS實體ID是:

ENTITYID = 「HTTP:// XXX/ADFS /服務/信任」

只有一個,它實際上是ADFS URL。

無法更改元數據。

您需要兩個獨立的ADFS實例。

相關問題