2013-08-07 71 views
0

在我們的系統中,我們有從不同域註冊的用戶(可以說他們的郵件地址是@ gmail.com,@ outlook.com,@ yahoo.com)。我有一個要求,根據他來自的域來限制用戶對RP的訪問。對於此設置,我試圖配置頒發授權規則ADFS(允許用戶只能從特定域)與下面的規則ADFS - 頒發授權規則集錯誤

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Value =~ "gmail.com$"] 
=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true"); 

我是路過的電子郵件地址通過要求發行授權規則選項卡,所以我也沒初始化在授權規則集的輸入如在technet link提到(下發送的執行輸出到權利要求管道部段

全過程已對於給規則集運行後(步驟1,圖2和3),新發出的傳出聲明(輸出聲明集的內容)將爲u sed作爲聲明管道中下一個規則集的輸入。這允許聲明從一個規則集的輸出流向另一個規則集的輸入,如下圖所示。

但是授權似乎不起作用。

回答

1

在第一個選項卡(頒發轉換規則)中配置的聲明不會傳遞到第二個選項卡(頒發授權規則)。

因此,我們需要在第二個選項卡(地圖emailaddresses - > emailaddress)中再次重複該過程,如下所示。

Issuance Authorization Rule configuration

現在的自定義規則完美的作品。

如果您需要添加幾個電子郵件域到驗收標準只需使用「|」符號:

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Value =~ "yahoo.com$|gmail.com$"] 
=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");