0

我们正在研究新要求,我们需要根据与客户的合同启用功能。它是一个基于 Saas 的软件,支持多租户。该软件默认启用基本功能。

基本功能

用户管理

基本计费/发票

通过电子邮件通知

付款

高级功能

通过短信通知

工作流程

ETC

所有客户端都由相同的软件(显然是相同的部署)提供​​服务,但数据将存储在不同的数据库模式中。

在这种情况下如何处理基本、高级、附加和专业功能?

我们正在使用spring和hibernate。

4

1 回答 1

0

AFAIK,您应该在应用程序内部处理这些功能,以便将通知、工作流等功能标记为应用程序功能,并且对于每个租户,租户 ID 和功能之间将存在映射,以便租户只能访问他订阅的功能。

因此,当租户或其用户登录系统时,我们会识别他可以访问的功能和内容,然后将它们展示给用户。这称为租户许可系统。

此外,无论何时使用某个功能,您的代码都应该记录使用该功能的租户以及使用量、时间和与使用度量单位相关的成本。

更详细的讨论,请参考这里

虽然这些都是用 C# 解释的,但在概念理解上应该没有障碍。

于 2013-08-11T12:46:50.343 回答