+-
C#-多租户用户模型
在托管多个组织和应用程序的多租户系统中,一个组织可以使用系统上托管的多个应用程序,我的用户和角色模型是否应该使得单个用户或角色可以跨多个应用程序和组织存在?还是应该将一个用户实体限制为一个组织/应用程序对,然后定义一些总体模型将这些用户实体联系在一起?

那是:

> John Doe是一个人
>他想使用ApplicationA和ApplicationB
>他为两家不同的公司(刚好与我合作)工作,OrganizationA和OrganizationB

用户模型应为:

> johndoe @ someuniquesuffix是他的唯一用户名.这使他可以访问两个组织的两个应用程序.
> johndoe @ applicationa @ organizationa是他在OrganizationA上ApplicationA的用户名. johndoe @ applicationb @ organizationa是他在OrganizationA上的ApplicationB用户名,…和OrganizationB的用户名相同.然后有一些“主”列表,其中说应用程序/组织的所有4个用户帐户都对应于同一实际“人”,John Doe?

上面描述的相同情况适用于我将如何设计我的角色架构.

感谢您的协助!

最佳答案
我个人认为,跟踪John Doe是在组织A和组织B中都工作的人会使事情变得非常复杂,而在大多数情况下并没有增加太多价值.除非您有明确的商业理由要在模型中了解A的John Doe与B的John Doe相同,否则我将避免使用它.在所有组织中维护您的用户数据库,必须在组织中处理唯一的名称(“您的意思是已经有John Doe?这不是我!”),并具有UI模型(例如,在登录时询问用户’您是要处理A的今天数据还是B的数据?)只会增加很多复杂性.

我建议的一个缺点是,如果您使用第三方身份验证器(例如OpenID或OAuth),则具有多个租户的人必须使用不同的ID登录.例如.我使用google openId登录,最终获得了A的数据,但是要使用B的数据,我需要使用我的Twitter帐户,因为我的Google ID已绑定到A且仅绑定了A.

点击查看更多相关文章

转载注明原文:C#-多租户用户模型 - 乐贴网