对于我正在开发的项目,我需要使用通用身份服务器创建两个单独的(但不完全不相关的)应用程序。我为此选择了IdentityServer4,它对我来说效果很好。Asp.Net核心/身份服务器复杂授权
但是,我需要能够将用户分配给多个公司/项目(是的,这是一个真实的案例),并可能分配给他们每个人的不同角色。但是,我无法为此设计索赔结构。
我看到两种方法可以解决这个问题;
为每个公司/项目其中将包含companyId和用户在该公司角色的复杂要求。这可能是JSON格式或自定义字符串,如
companyGUID_roleClaim
但是,当我做了一个小的研究时,我意识到有很多人不认为这是正确的方法,因为他们认为这些声明应该是简单的键 - 值对。让应用程序连接/查询身份数据库检索公司/项目,并与活跃用户关联的角色和保护利用基于这些数据的政策资源。
也许我从错误的一面看它,或者这两者中的一个是可以接受的。或者有另一种解决方案。你能帮我找到解决这个问题的办法吗?