首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计一个支持ASP.NET的SubSites应用程序

设计一个支持ASP.NET的SubSites应用程序
EN

Stack Overflow用户
提问于 2009-05-20 22:12:09
回答 2查看 2.8K关注 0票数 3

我正在设计一个必须支持“子站点”的ASP.NET应用程序。

其想法是拥有一个超级管理员管理所有用户,全局应用程序设置和SubSites。每个子网站都有自己的一些设置(例如本地管理、徽标和欢迎消息),每个Subsite都有自己的注册用户列表。

这与使用诸如Joomla、SharePoint或DotNetNuke之类的CMS非常相似。事实上,我很想使用这样的平台,但是其他的项目需求阻止了我这样做。

在这一点上,我的问题非常笼统:

  1. 使用ASP.NET 2.0成员如何根据用户注册的SubSite指定超级管理员和分类用户?
  2. 如何实现SubSites (应该使用什么模式等)?我特别感兴趣的文章解释了其他人是如何做到这一点的。我想学习其他人已经获得的最佳实践,而不用花几天时间深入研究像DotNetNuke这样的大型开源项目的源代码。

我是在ASP.NET MVC1.0中实现这一点的,所以类似的例子将非常有用。

更新:,我喜欢Mike实现了多租户和我决定把他的工作作为起点。有关我如何在每个租户拥有自己的这个职位的情况下使用SqlMembershipProvider的信息,请参见SqlMembershipProvider。这解决了我的会员“基于子网站”的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-21 01:39:59

您所尝试的更常见的是"多租",而不是“子站点”。

这个问题有一个相似问题,这个被接受的答案听起来是可信的。

票数 4
EN

Stack Overflow用户

发布于 2009-05-20 22:33:07

如果我不明白“子站点”是什么意思,请原谅我,你是用这个词来指在大师网站内创建迷你网站的想法吗?如果是这样的话,我想我理解您想要做什么,但我不得不说,asp.net 2.0中的成员系统是一个非常需要操作的框架,您需要在其中操作才能创建您想要的。

无论如何,我将如何做到这一点(这是基于.net成员身份被开箱即用):

ASP.NET允许您将“角色”附加到用户,“配置文件”属性也可以附加到这些用户。配置文件用于将诸如“电话号码”和其他元数据等内容附加到用户,但您也可以使用它将他们的家庭‘子站点’附加到他们身上。

我将创建一个名为“globaladmin”的角色,将自己创建为一个用户,然后将您(只有您)分配给该角色。然后,我将创建一个'siteadmin‘角色,并将每个子站点的管理用户分配给该角色,但是要非常小心地为他们分配一个“站点”配置文件条目,它的值对应于他们管理的站点。

例如,'user123‘将分配给'siteadmin’角色,它们的'site‘配置文件属性可能是'subsitexyz’。然后,他们将被确定为该网站的管理员。

上面的内容是可行的,但是如果您真的想使其尽可能流畅,将创建您自己的MembershipProvider (SubsiteMembershipProvider),并创建一个新的SubsiteMembershipUser类,该类继承自新提供程序返回的MembershipUser。然后,您可以将自己的属性添加到应用程序可以查询的SubsiteMembershipUser中,以找出用户属于哪个站点:

代码语言:javascript
复制
//get current logged on user - cast it to our custom membership user object
SubsiteMembershipUser thisUser = (SubsiteMembershipUser)GetUser(); 
if(thisUser.SubsiteName == SiteUserIsBrowsingString
&& Roles.IsUserInRole(thisUser.UserName, "siteadmin"))
  //user is admin for this site so do something
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/890518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档