- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试为员工创建一个带有后端的 SAAS 电子商务工具,该工具还允许客户在前端拥有帐户和结帐。我正在苦苦思索如何设计它,以便公司、帐户所有者、员工和客户都被隔离到每个公司,同时还根据他们的角色进行适当的限制。
到目前为止,我所读到的大多数 Rails 解决方案都使用带有子域的 Multi-Tenancy 模式,例如 Apartment gem , 隔离帐户。但让您的网站使用一个大型应用程序和数据库似乎更简单。例如,Basecamp 最近通过 Basecamp3 转向了这种方法。 .较新的应用程序似乎是以这种方式构建的。
而且,管理功能和客户帐户/前端商店是否应该完全是单独的应用程序,或者您可以使用“majestic monolith”来做到这一点?一个大的应用程序和数据库虽然很大,但对我来说似乎更直接。
我找到了 this blog post这解释了如何用 Pundit 做这样的事情,但我仍然无法了解如何在同一个应用程序中与帐户所有者、员工和客户一起工作。
以下是我的应用程序的基本需求:
用户角色
Company
has_many :users, dependent: :destroy
has_many :products, dependent: :destroy
User
belongs_to :company
Product
belongs_to :company
最佳答案
你打开 simple e-commerce site
但是您提出的问题表明您正在寻找更复杂的东西:) 您走在正确的 rails 上。
act_as_tenant gem 值得一看。我们现在使用它,它有助于确保您的查询都在适当的范围内。
如果您需要执行角色,我也会查看并评估 rolify(但也不排除您的用户使用 bool 标志)。
我不排除设计,但清除很受欢迎。
根据工作量的不同,使用子域可能是未实现的工作,除非您需要出于虚荣目的而实际使用子域(my.example.com 与 example.com/my),否则您可以在没有它的情况下进行 Multi-Tenancy 。
如果不同角色的访问权限变化很大,我会考虑为不同角色设置单独的 Controller 和命名空间;您还可以使用 Pundit 将它们组合成单个 Controller (但这可能很笨拙)。您仍然希望使用 Pundit,但是,Pundit 可以执行诸如限定用户应该查看的记录范围之类的操作。
您走在正确的 rails 上并提出了正确的问题,但所有这些问题的答案将取决于其他问题(您现在可能甚至无法回答)。
我有一个项目,我正在做你提到的事情(专家限制数据,acts_as_tenant 限制数据),但随着它的发展,某些模式出现,导致我走上不同的道路。例如,命名空间管理,而不是在同一个 Controller 内进行管理检查;因为如果你重写一个 API,你最终会试图让同一个端点做不同的事情,在我看来,将命名空间后面的 2 个端点分开并记录实际行为会更清晰。
关于ruby-on-rails - 如何在不使用子域的情况下设置 Multi-Tenancy Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676600/
对于我积极维护的客户基于 Web 的 CRM 的分支机构数量不断增加的 Multi-Tenancy ,我需要做出一个艰难的数据库设计决策。 我很早就决定为每个分支使用具有单独数据库的单独应用程序,因为
在 Spring 3 应用程序中,我试图通过 Hibernate 4 的原生 MultiTenantConnectionProvider 实现 Multi-Tenancy 。和 CurrentTena
在neo4j中实现 Multi-Tenancy 的最佳方法是什么? 我看过 Tinkerpop 和 Spring Data。 我有多个客户端,我想将客户端信息存储在自己的数据库中以确保安全。 我不想使
我正在一个小团队工作,设计一个流程管理系统,供同一行业内的几个不同客户使用。系统的目标和客户的高水平要求非常相似。然而,正如预期的那样——一旦我们开始深入挖掘他们的个人需求,我们最终会为每个客户进行一
我们正在开发一个“中间层”来替换现有的业务逻辑/数据访问层。我们面临的设计问题之一是,我们需要以一种允许多个客户的数据库和/或中间层部件作为我们托管产品的一部分存在于同一服务器上的方式进行设计。托管环
我有一个非常简单的项目,其中包含一个具有以下 models.py 的应用程序: class UserAccount: user = models.OneToOneField(User)
在我的应用程序中,我想为不同的客户实现 Multi-Tenancy 支持。 我有一个节点树,希望为不同的客户实现私有(private)树的支持。 Neo4j 是否支持 Multi-Tenancy ,或
我似乎找不到任何关于具有多个数据库的 Grails Multitenancy(每个租户一个)的更新资源/指南、插件或示例。我目前被困在 https://grails.org/plugin/multi-
在我的 Laravel 项目中,我使用了 Multi-Tenancy 。对于项目相关的工作,我正在创建一个 laravel 自定义 artisan 命令。我正在尝试在我正在创建的那个 artisan
我想实现 OKTA API 来管理 Multi-Tenancy 环境中的身份验证和 SSO。 每个用户都应该链接到一个租户,并且每个租户都应该配置身份验证策略。有没有办法实现这一目标? 最佳答案 Ok
我在网上阅读了几篇关于 Multi-Tenancy (针对 SaaS 应用程序中的不同客户)的文章(即 this 和 that 和 that)。一旦您决定采用基于鉴别器的方法,hibernate do
我有几个客户端使用的数据库。我真的不希望代理增量键值在客户端之间流血。我希望编号从1开始,并且要针对客户。 我将使用tenant_id的两部分组合键以及增量ID。 为每个租户创建增量 key 的最佳方
我正在开发一个定制的CRM解决方案,该解决方案将通过Web/SaaS模型出售。我预计会有数十或数百个客户使用此解决方案。我将使用MS SQL作为数据库引擎。 选项1是拥有一个数据库,并在表上包括一个T
我开始设计 Multi-Tenancy 系统并且已经阅读了这篇文章: http://msdn.microsoft.com/en-us/library/aa479086.aspx 无论如何,我有几个与身
我正在考虑在 Multi-Tenancy 应用程序中使用 Solr,我想知道是否有任何最佳实践或需要注意的事项? 一个特别的问题是每个租户拥有一个 Solr Core 是否有意义。有大量的 Solr
由于我对 redis 还很陌生,因此我正在尝试探索各种选项,看看如何使用 redis 实现 Multi-Tenancy 。 我在 redisLabs 官方页面上阅读了一些文档,看起来 redis 集群
我们有一个应用程序,可以在 Multi-Tenancy 工作区的服务器上执行大量数据繁重的工作。 以下是它所做的事情: 它从不同文件格式的文件加载数据。 根据定义的逻辑执行幂等规则。 执行处理逻辑,例
我们有一个 Multi-Tenancy Azure 广告应用程序,该应用程序在某些其他租户中不可见。是否有允许第三方应用程序的租户级别设置? 我们从 azure cli 运行以下命令来查看 hte 应
我尝试登录 Azure AD Web 应用程序,当我使用租户内的用户登录时,就可以了,但是当登录其他用户时我得到 AADSTS50020:来自身份提供商“live.com”的用户帐户“********
我正在将 Firebase 视为 MVP Multi-Tenancy 应用的后端。该应用程序将为每个租户提供完全白标,每个租户都注册自己的用户群。肯定会有交叉,用户可以注册多个租户,但是我似乎看不到
我是一名优秀的程序员,十分优秀!