我正在设计一个必须支持“子站点”的 ASP.NET 应用程序。
这个想法是让超级管理员管理所有用户、全局应用程序设置和子站点。每个子站点都有一些自己的设置(例如本地管理员、徽标和欢迎消息),每个子站点都有自己的注册用户列表。
这与使用 Joomla、SharePoint 或 DotNetNuke 等 CMS 获得的结果非常相似。事实上,我很想使用这样的平台,但其他项目要求阻止我这样做。
在这一点上,我的问题非常笼统:
- 使用ASP.NET 2.0 Membership,我将如何指定超级管理员并根据用户注册的 SubSite 对用户进行分类?
- 我将如何实现子站点(应该使用什么模式等)?我对解释其他人如何做到这一点的文章特别感兴趣。我想学习其他人已经获得的最佳实践,而无需花费数天时间深入研究像 DotNetNuke 这样的大型开源项目的源代码。
我在 ASP.NET MVC 1.0 中实现了这一点,所以类似的例子会很有帮助。
更新: 我喜欢Mike Hadlow 实现多租户的方式,我决定以他的工作为起点。有关我如何使用每个拥有自己独立数据库的租户的信息,请参阅这篇文章。这解决了我的会员资格“基于子网站”的问题。
SqlMembershipProvider