我正在使用用於用戶信息的Active Directory,用於身份驗證和SSO的ADFS以及使用ASP.NET MVC構建的幾個自定義應用程序。使用ADFS和WIF存儲基於角色的權限
授權模型是聲明和基於角色的;也就是說,用戶的角色可以通過ADFS發佈的令牌(使用WIF)作爲對相關應用程序的聲明來訪問。
每個角色都有一個針對應用程序各種資源(即角色Admin對資源X擁有WRITE權限的角色)的已定義權限列表。我們有基本的授權模式,可以很好地處理一些硬編碼的權限。
我的問題是:什麼是最好的方式/地方來存儲各種角色的實際權限?這可以在ADFS內完成,否則將需要一個單獨的存儲(我猜測後者)?權限遵循與XACML(用戶/角色:資源:操作)相同的寬泛模式,並且XACML解決方案可能很容易併入,但最流行的XACML(XACML.NET)的.NET實現似乎使用XML作爲唯一存儲機制是不可行的(我們有很多資源來存儲權限 - 潛在的數千個)。
這是什麼人使用?最明顯的解決方案似乎是將三元組存儲在SQL Server中,但考慮到所有現成的身份驗證解決方案(特別是使用ADFS和WIF),實際實現授權和許可的信息很少(顯而易見)似乎很奇怪。我在網上找到的所有例子都沒有在權限級別解釋事物。
這是我懷疑的一種,謝謝。 – MarkH
出於興趣:如何將三重「角色管理員對資源X具有WRITE權限」轉換爲看起來像「.../claim/role = Admin」的聲明? – nzpcmad