C# 具有角色的DotNetCore标识多租户
我正在构建一个B2B SaaS应用程序并尝试实现授权 用户将拥有自己的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下工作时,他的角色将被错误地报告为管理员,而不是只读用户,因为角色/声明实现不是多租户的 我对此做
登录
,并将与至少一个帐户
关联。登录
特定于个人,账户
特定于组织/计费实体。许多登录
可以是帐户
的成员,单个登录
可以访问多个帐户
,这是一种简单的多对多关系
我如何利用身份角色和声明实现这一点
我无法完全理解的边缘情况是,如果登录A
与帐户A
作为管理员和帐户B
作为只读用户相关联,那么从我对开箱即用身份系统工作原理的理解来看,当登录A
在帐户B
下工作时,他的角色将被错误地报告为管理员,而不是只读用户,因为角色/声明实现不是多租户的
我对此做了大量挖掘,只能找到单个用户仅在单个租户下操作的信息/示例(尽管系统中有多个租户)
有人能给我指出正确的方向吗?或者我尝试使用开箱即用的身份识别系统是不是找错了方向?在新的身份识别系统
中,角色只是声明
。。。但在这种情况下,角色不是你的朋友。索赔是不公平的。当使用登录时,您为帐户A添加x索赔,为帐户B添加y索赔,依此类推。然后在account A
上检查该特定索赔并进行适当授权
例如:
帐户A索赔可能是这样的
18岁以上,能写会计
帐户B索赔可能类似于
只读帐户
这样,用户应该根据您授权的声明拥有适当的访问权限 在新的身份系统中,角色
只是声明
。。。但在这种情况下,角色不是你的朋友。索赔是不公平的。当使用登录时,您为帐户A添加x索赔,为帐户B添加y索赔,依此类推。然后在account A
上检查该特定索赔并进行适当授权
例如:
帐户A索赔可能是这样的
18岁以上,能写会计
帐户B索赔可能类似于
只读帐户
这样,用户应该根据您授权的声明拥有适当的访问权限 我认为构建您自己的系统比使用现成的标识系统花费的时间要少。我认为构建您自己的系统比使用现成的标识系统花费的时间要少。那么您正在解析字符串以确定授权?不知何故,这似乎不是一个非常整洁的解决方案!所以你在分析字符串以确定授权?不知何故,这似乎不是一个非常整洁的解决方案!