这是我想做的事情:
我想在Orchard中启用多租户,但我不希望每个租户都拥有自己的用户和角色。我希望他们在根网站上注册并填写表格以“申请”他们自己的网站。一旦应用程序获得批准,我将使用自定义配方(创建默认页面和其他内容项)创建子网站。但我希望他们继续使用相同的凭据来访问和管理其子网站。
他们是在Orchard做这个的方法吗?到目前为止,我还没有找到一个简单的方法,并且认为可能是两个站点共享的自定义成员资格提供者可能是解决方案。
答案 0 :(得分:1)
这只是一个部分答案(但你的问题只能用Orchard模块完全回答......):
是的,这是可能的,实际上没有内置或简单的方法来做到这一点。您可以做的是使用其中一个租户作为主用户存储(如您所述),然后其他租户将查询此主存储(可以作为跨租户数据库查询,see this Orchard Dojo article)查询需要。最简单的方法是将所需的帐户(即用户内容项)实际同步到每个租户,因为所有租户都使用相同的用户存储机制。
另一种方法是将SSO与外部身份提供程序一起使用(您也可以自己运行,就像使用IdentityServer一样)。这与您所描述的方法略有不同。它有不同的优点,但我说它的工作水平相同(尽管有几个使用Oauth的认证模块,你可以用它们作灵感)。
我实际上已经使用名为Federated Login的模块套件完成了第一种方法。我们在Lombiq(我的公司,请参阅我的个人资料)中使用这些模块为我们自己的网站(由多个不同应用程序中的多个租户组成)提供联合用户帐户。由于这些模块是闭源的,我无法指向您,但如果您有兴趣与我们取得联系。