C# 使用客户、会员资格和思洛存储器数据创建Orchard web应用程序

C# 使用客户、会员资格和思洛存储器数据创建Orchard web应用程序,c#,asp.net,asp.net-mvc,orchardcms,orchardcms-1.7,C#,Asp.net,Asp.net Mvc,Orchardcms,Orchardcms 1.7,我有一个想法,建立一个Orchard网站,提供“开箱即用”的功能,如博客、消息和日历。让我们称这个新网站为coolApp 每个客户都有自己的域,如coolApp.somedomain.com和coolApp.someotherdomain.com 我知道Orchard支持多租户,所以这不是问题。但是,我想确保coolApp.somedomain.com和coolApp.someotherdomain.com的用户在任何时候都不会相互获取数据。(这是您将在整个问题中听到的主题。)因此,每个客户都会

我有一个想法,建立一个Orchard网站,提供“开箱即用”的功能,如博客、消息和日历。让我们称这个新网站为coolApp

每个客户都有自己的域,如coolApp.somedomain.com和coolApp.someotherdomain.com

我知道Orchard支持多租户,所以这不是问题。但是,我想确保coolApp.somedomain.com和coolApp.someotherdomain.com的用户在任何时候都不会相互获取数据。(这是您将在整个问题中听到的主题。)因此,每个客户都会从其他客户那里获得信息

现在每个客户都可以设置组。每个小组都有一名经理和成员。每个组都为其组提供现成的功能。经理只能向其组成员发布日志、设置事件日历和消息等。经理还可以设置其他成员来执行相同的操作。但是,与客户一样,他们看不到其他成员的组信息和数据

但是,客户同时对其所有集团经理和/或成员具有相同的开箱即用功能。因此,客户可以向其所有组发送消息、博客等

我想我希望它在http端点方面能像这样工作。somedomain.com可以通过coolapp.somedomain.com撰写博客、发送消息等。每个小组都会在coolapp.somedomain.com/group1、coolapp.somedomain.com/group2等网站上写博客、发消息

我没有提到的一点是,一些开箱即用的功能将是针对我的用例的定制功能。因此,它将不仅做博客,日历等,但我会写自定义模块

当然,我希望所有这些都是相当自动化的。无论是在建立新客户(coolapp.somethirdodomain.com)方面,还是在每个客户内部,都可以轻松地建立新的组。(顺便说一句,与新客户相比,建立新团队要容易得多。)

因此,考虑到所有这些,下面是我的问题

  • Orchard在没有任何编程的情况下支持这一点有多好?看起来果园可能已经准备好了,但我不知道怎么做。为了实现这一目标,我需要学习和理解哪些特性

  • 我如何编写自定义模块,以便它能够对数据进行水平分区/筒仓化。我需要了解哪些编程特性才能实现这一点

  • 关于在Orchard中自动创建组(新端点),您能给我什么建议

  • 任何我应该提防的陷阱

  • 我真的很想在Orchard做这件事,因为我喜欢Orchard,因为我是一名C#程序员。但是,如果Orchard不是一个好的选择,有人能推荐一个不使用.NET(或几乎免费)的解决方案吗

  • 谢谢你的帮助


    Seth

    在Orchard中,每个租户都可以拥有自己的数据库,这意味着数据存储可以完全孤立。因为这是同一个应用程序域,所以您必须确保客户不能运行自定义模块,而只能运行您定义的模块,根据您的描述,这应该可以

    使用多租户,您可以为每个域和url前缀托管不同的网站,甚至可以同时托管。这意味着您可以在同一个域中完全拥有不同的网站,它们拥有自己的数据库,并具有不同的前缀:

    app.domain1.com/group1 app.domain1.com/group2 app.domain2.com/group1 app.domain2.com/group2

    您甚至可以使用表前缀将同一公司的所有集团网站分组到同一数据库中。所有这些都是免费的,当你创建你的模块时,你根本不需要关心这些


    你可以在一个果园安装上运行数百个租户,实际上是数百个。我有一个POC,在一个大型Azure网站实例上有1000个租户,每个数据库有数百个内容项。

    在Orchard中,每个租户都可以有自己的数据库,这意味着数据存储可以完全孤立。因为这是同一个应用程序域,所以您必须确保客户不能运行自定义模块,而只能运行您定义的模块,根据您的描述,这应该可以

    使用多租户,您可以为每个域和url前缀托管不同的网站,甚至可以同时托管。这意味着您可以在同一个域中完全拥有不同的网站,它们拥有自己的数据库,并具有不同的前缀:

    app.domain1.com/group1 app.domain1.com/group2 app.domain2.com/group1 app.domain2.com/group2

    您甚至可以使用表前缀将同一公司的所有集团网站分组到同一数据库中。所有这些都是免费的,当你创建你的模块时,你根本不需要关心这些


    你可以在一个果园安装上运行数百个租户,实际上是数百个。我有一个POC,在一个大型Azure网站实例上有1000个租户,每个数据库有数百个内容项。

    在Orchard中,每个租户都可以有自己的数据库,这意味着数据存储可以完全孤立。因为这是同一个应用程序域,所以您必须确保客户不能运行自定义模块,而只能运行您定义的模块,根据您的描述,这应该可以

    使用多租户,您可以为每个域和url前缀托管不同的网站,甚至可以同时托管。这意味着您可以在同一个域中完全拥有不同的网站,它们拥有自己的数据库,并具有不同的前缀:

    app.domain1.com/group1 app.domain1.com/group2 app.domain2.com/group1 app.domain2.com/group2

    您甚至可以使用表前缀将同一公司的所有集团网站分组到同一数据库中。所有这些都是免费的,当你创建你的模块时,你根本不需要关心这些

    你可以用一个罪恶来管理数百个房客