Orchardcms Orchard CMS-具有单个成员数据库的多租户

Orchardcms Orchard CMS-具有单个成员数据库的多租户,orchardcms,Orchardcms,以下是我想做的: 我想在Orchard中启用多租户,但我不希望每个租户都有自己的用户和角色。我想让他们在根网站注册,并填写表格“申请”自己的网站。一旦应用程序获得批准,我将使用自定义配方(创建默认页面和其他内容项)创建子网站,但我希望他们继续使用相同的凭据访问和管理子网站 他们是在果园里这样做的方法吗?到目前为止,我还没有找到一个简单的方法,我认为两个站点共享的自定义成员资格提供商可能是解决方案。这只是部分答案(但您的问题只能通过Orchard模块完全回答…): 是的,这是可能的,事实上没有内置

以下是我想做的:

我想在Orchard中启用多租户,但我不希望每个租户都有自己的用户和角色。我想让他们在根网站注册,并填写表格“申请”自己的网站。一旦应用程序获得批准,我将使用自定义配方(创建默认页面和其他内容项)创建子网站,但我希望他们继续使用相同的凭据访问和管理子网站


他们是在果园里这样做的方法吗?到目前为止,我还没有找到一个简单的方法,我认为两个站点共享的自定义成员资格提供商可能是解决方案。

这只是部分答案(但您的问题只能通过Orchard模块完全回答…):

是的,这是可能的,事实上没有内置的或简单的方法来做到这一点。您可以做的是将其中一个租户用作主用户存储(如您所述),然后其他租户将在需要时查询此主存储(可以作为跨租户DB查询)。最简单的方法是将必要的帐户(即用户内容项)实际同步到每个租户,因为所有租户都使用相同的用户存储机制

另一种方法是将SSO与外部身份提供程序结合使用(您也可以自己运行,就像使用IdentityServer一样)。这与您描述的方法略有不同。它有不同的优点,但我要说的是,它的工作水平是相同的(尽管有几个Oauth使用认证模块,您可以从中获得灵感)


实际上,我已经使用名为Federated Login的模块套件完成了第一种方法。我们在Lombiq(我的公司,请参阅我的个人资料)使用这些模块为我们自己的网站(由多个不同应用程序中的多个租户组成)提供联合用户帐户。由于模块是封闭源代码的,我无法向您指出它们,但如果您有兴趣,请与我们联系。

我将添加我的观点,但是的,@Piedone是正确的。Orchard多租户从未设计用于任何类型的内容联合(回想起来,这可能是一个错误)。这意味着没有共享内容,包括用户。MT的目的是实现一件事:高站点密度。它不是为隔离而设计的,也不是为联合而设计的。另一点是,单点登录与多租户是完全不同的问题。我认为所有现代网站都应该使用SSO,句号。