【发布时间】:2017-06-26 06:12:59
【问题描述】:
对于我正在进行的项目,我需要创建两个独立的(但并非完全不相关的)应用程序和一个公共身份服务器。为此我选择了 IdentityServer4,它对我很有效。
但是,我需要能够将用户分配到多个公司/项目(是的,这是一个真实的案例),并且可能分配到每个公司/项目中的不同角色。但是,我无法为此设计索赔结构。
我看到了两种可以解决这个问题的方法;
为每个公司/项目创建一个复杂的声明,其中将包含 companyId 和用户在该公司中的角色。可以是 JSON 格式或自定义字符串,如
companyGUID_roleClaim然而,当我对它进行小型研究时,我意识到有很多人认为这不是正确的方法,因为他们认为声明应该是简单的键值对。-
让应用程序连接/查询身份数据库以检索与活动用户关联的公司/项目和角色,并使用基于这些数据的策略保护资源。
也许我从错误的角度看待它,或者这两者中的一个是可以接受的。或者还有另一种解决方案。你能帮我找到解决这个问题的方法吗?
【问题讨论】:
标签: asp.net asp.net-core identityserver4 asp.net-authorization