對於我正在開發的項目,我需要使用通用身份服務器創建兩個單獨的(但不完全不相關的)應用程序。我爲此選擇了IdentityServer4,它對我來說效果很好。Asp.Net核心/身份服務器複雜授權
但是,我需要能夠將用戶分配給多個公司/項目(是的,這是一個真實的案例),並可能分配給他們每個人的不同角色。但是,我無法爲此設計索賠結構。
我看到兩種方法可以解決這個問題;
爲每個公司/項目其中將包含companyId和用戶在該公司角色的複雜要求。這可能是JSON格式或自定義字符串,如
companyGUID_roleClaim
但是,當我做了一個小的研究時,我意識到有很多人不認爲這是正確的方法,因爲他們認爲這些聲明應該是簡單的鍵 - 值對。讓應用程序連接/查詢身份數據庫檢索公司/項目,並與活躍用戶關聯的角色和保護利用基於這些數據的政策資源。
也許我從錯誤的一面看它,或者這兩者中的一個是可以接受的。或者有另一種解決方案。你能幫我找到解決這個問題的辦法嗎?