Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有角色的DotNetCore标识多租户_C#_Asp.net Core_Asp.net Core Mvc_Asp.net Identity - Fatal编程技术网

C# 具有角色的DotNetCore标识多租户

C# 具有角色的DotNetCore标识多租户,c#,asp.net-core,asp.net-core-mvc,asp.net-identity,C#,Asp.net Core,Asp.net Core Mvc,Asp.net Identity,我正在构建一个B2B SaaS应用程序并尝试实现授权 用户将拥有自己的登录,并将与至少一个帐户关联。登录特定于个人,账户特定于组织/计费实体。许多登录可以是帐户的成员,单个登录可以访问多个帐户,这是一种简单的多对多关系 我如何利用身份角色和声明实现这一点 我无法完全理解的边缘情况是,如果登录A与帐户A作为管理员和帐户B作为只读用户相关联,那么从我对开箱即用身份系统工作原理的理解来看,当登录A在帐户B下工作时,他的角色将被错误地报告为管理员,而不是只读用户,因为角色/声明实现不是多租户的 我对此做

我正在构建一个B2B SaaS应用程序并尝试实现授权

用户将拥有自己的
登录
,并将与至少一个
帐户
关联。
登录
特定于个人,
账户
特定于组织/计费实体。许多
登录
可以是
帐户
的成员,单个
登录
可以访问多个
帐户
,这是一种简单的多对多关系

我如何利用身份角色和声明实现这一点

我无法完全理解的边缘情况是,如果
登录A
帐户A
作为管理员和
帐户B
作为只读用户相关联,那么从我对开箱即用身份系统工作原理的理解来看,当
登录A
帐户B
下工作时,他的角色将被错误地报告为管理员,而不是只读用户,因为角色/声明实现不是多租户的

我对此做了大量挖掘,只能找到单个用户仅在单个租户下操作的信息/示例(尽管系统中有多个租户)


有人能给我指出正确的方向吗?或者我尝试使用开箱即用的身份识别系统是不是找错了方向?

在新的身份识别系统
中,角色
只是
声明
。。。但在这种情况下,角色不是你的朋友。索赔是不公平的。当使用登录时,您为帐户A添加x索赔,为帐户B添加y索赔,依此类推。然后在
account A
上检查该特定索赔并进行适当授权

例如:

帐户A索赔可能是这样的

18岁以上,能写会计

帐户B索赔可能类似于

只读帐户


这样,用户应该根据您授权的声明拥有适当的访问权限

在新的身份系统
中,角色
只是
声明
。。。但在这种情况下,角色不是你的朋友。索赔是不公平的。当使用登录时,您为帐户A添加x索赔,为帐户B添加y索赔,依此类推。然后在
account A
上检查该特定索赔并进行适当授权

例如:

帐户A索赔可能是这样的

18岁以上,能写会计

帐户B索赔可能类似于

只读帐户


这样,用户应该根据您授权的声明拥有适当的访问权限

我认为构建您自己的系统比使用现成的标识系统花费的时间要少。我认为构建您自己的系统比使用现成的标识系统花费的时间要少。那么您正在解析字符串以确定授权?不知何故,这似乎不是一个非常整洁的解决方案!所以你在分析字符串以确定授权?不知何故,这似乎不是一个非常整洁的解决方案!