多租户SAAS客户定制化

7

你好,我有一个与SAAS模型和多租户相关的问题。

据我所知,SAAS多租户应用程序意味着所有客户共用功能,但在UI和功能下方进行一些自定义。

如果我需要为某些客户进行额外的客户特定自定义,我该如何实现?

我了解到SalesForce的方法 (链接)

对于答案,我希望看到您在以下方面的经验: - 数据库级别下的自定义 - 后端架构一般或任何相关主题的链接。

1个回答

11
以下是自定义多租户应用程序的两种方式: 1. 展示层更改 2. 系统更改。
在多租户环境中,以下是Web应用程序中首选的典型自定义选项: 1)用户界面和品牌, 2)工作流程和业务规则, 3)数据模型扩展, 4)访问控制
其中1属于展示层更改,其余所有选项都构成多租户应用程序中的系统级更改。
MVC被认为是呈现层自定义选项,在其中我们可以选择允许租户拥有自己的主题、标志和自定义布局或自定义控制器和自定义页面部分。
对于系统设置,有许多方法可以实现这一点,但以下是最普遍的:
1)在数据库级别进行自定义, 2)在中间件级别进行自定义。
在SaaS应用程序中,有功能和实现。对于后者,将存在一个特定于租户的配置,根据其配置决定为租户提供哪个实现,并提供服务。这些是使用一个具有租户感知能力的自定义依赖注入机制来实现的,还需要一个特定于租户的配置,可以在运行时消耗以促进此过程。
在情况(1)下,应根据租户标识符隔离数据库中的数据,以便在多租户环境中不共享配置或元数据。
因此,主要组件将是
1)从租户上下文获取的租户标识符 2)多租户数据存储 3)特定于租户的身份验证[表单签名/单点登录等]
在我看来,由于您的主题很广泛,如果您可以提供更具体的领域,我们将讨论其实施。
希望这回答了您的查询,请发布您的更新。

谢谢,你的回答真的很有帮助。你在.NET方面有实现经验吗? - Alexandr
@Alexandr:谢谢你,Alexandr。我有实现经验,但是在基于DI的租户注入部分上没有经验。我已经看到了一些关于这个问题的实现和博客。如果您有任何与此帖子相关的其他查询,请随时发布。 - Saravanan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接