2014-05-09 65 views
0

我正在使用Thinktecture Identity Server for SSO和一些應用程序。這個想法是,賬戶信息將被存儲在服務器中的索賠信息中。因此,SSO服務器上可以存在組用戶成員身份和其他層次結構。然後當有人認證時,他們將獲得他們的會員資格和權利通過索賠傳遞。從Thinktecture Identity Server獲取詳細的用戶成員資格信息

我的問題是我的認證用戶如何執行user.memberOf(x)種查找?我無法想象整個權限層次結構會在用戶聲明中傳遞。我想像其他的查詢將會在LDAP這樣的服務器上執行。這對於Thinktecture如何工作?對於其他SSO服務器通常是否一樣?如果是這樣的模式名稱是什麼?

回答

1

一般模式是,是的,你通過索賠中的所有角色。如果組數過多,則會導致問題,但如果情況如此,則可能會重新考慮角色模型。

切換到oauth2樣式授權解決了這個問題:您不在角色中傳遞聲明,但依賴方通過額外的呼叫查詢角色。缺點是,如果STS被另一個STS進一步查證,這樣的額外呼叫變得棘手,因爲呼叫需要另一個內部呼叫,這可能需要另一個呼叫等。在索賠中傳遞角色意味着不需要這個額外的呼叫。

另一個想法是切換到自定義STS,該自定義STS根據依賴方或其他用戶屬性發布聲明角色。這可以起作用,因爲通常一個RP對所有角色都不感興趣,而是一個有意義的子集。您的過濾器然後在自定義STS端執行。

+0

我喜歡每過濾RP角色的想法。我很想聲稱,這一直困擾着我。謝謝。 – ProfK